函数祛抖和函数节流,还是说throttle和debounce来的顺口⊙﹏⊙∥

函数节流

大于某个时段(delay)才触发

简单实现

var throttle = function(delay,callback){

var startTime = Date.now();

return function(){

var curTime = Date.now();

if(curTime - startTime > delay){

callback();

startTime = curTime;

}

}

}

函数去抖

当事件触发后,必须等上一段时间,回调函数才会执行,假如在等待的时间内再次触发,则刷新等待事件
简单实现
var debounce = function(delay,callback){
var timer;
return function(){
if(timer) clearTimeout(timer);
timer = setTimeout(function(){
callback();
},delay)
}
}

loadshjs和underscore都有对这两者的实现,封装的也更加完善,留坑待续