/**
-
空闲控制 返回函数连续调用时,空闲时间必须大于或等于 idle,action 才会执行
-
@param idle {number} 空闲时间,单位毫秒
-
@param action {function} 请求关联函数,实际应用需要调用的函数
-
@return {function} 返回客户调用函数
*/
debounce(idle,action)
2. 简单实现
var debounce = function(idle, action){
var last
return function(){
var ctx = this, args = arguments
clearTimeout(last)
last = setTimeout(function(){
action.apply(ctx, args)
}, idle)
}
}
三、什么是throttle
1. 定义
如果将水龙头拧紧直到水是以水滴的形式流出,那你会发现每隔一段时间,就会有一滴水流出。
也就是会说预先设定一个执行周期,当调用动作的时刻大于等于执行周期则执行该动作,然后进入下一个新周期。
接口定义:
/**