函数节流(throttle):当我们遇到一些线性的事件某个处理,但是有不想在这个过程中无限制的执行,比如监听mousemove事件 我想每隔2秒处理一下这个事件;这时就可以用throttle来帮忙处理。
function throttle(fn, time){
var timer = null;
return function(){
if(!timer){
timer = new Date();
}
else{
var dateDiff = new Date() - timer;
if(dateDiff < time){
return;
}else{
timer = null;
setTimeout(fn);
}
}
}
}
var test = throttle(function(){console.log('执行')}, 500)
var time = 1;
var interval = setInterval(function(){
if(time == 1000) clearInterval(interval)
console.log('触发')
test();
time++;
},10)