首页 > 代码库 > 函数节流

函数节流

函数节流的思想:某些代码不可以在没有间断的情况下连续重复执行,第一次调用函数的时候,创建定时器,在指定时间后执行代码,第二次执行的时候,清除前一个定时器设置另外一个。

类似resize事件,如果不加节制的执行,浏览器会受不了的,你的用户也会受不了的。

大致就是这样一个函数:

function throttle(func, time) {    clearTimeout(func.tId);    func.tId = setTimeout(func, time);}

在《JavaScript高级程序设计》中,是这样的,增加了上下文。

function(method, context, time) {    clearTimeout(method.tId);    method.tId = setTimeout(function() {        method.call(context);    }, time);}

 

只要代码时周期性执行的,都应该使用节流。

 

这篇博客和上一篇都是百度的笔试题,昨晚刚笔试的,感觉回答的不是很好,回来查了一下书,整理在这里。

函数节流