函数防抖(debounce): 某个函数执行后开始及时,到指定时间之后才开始执行想要执行的函数;
比如autocomplete,想在用户输入完成之后才去服务器获取相关的信息,就可以用debounce去实现
function debounce(fn, time){
var trigger = null;
return function(){
if(trigger) clearTimeout(trigger);
trigger = setTimeout(fn, time);
}
}
var test = debounce(function(){console.log('执行')}, 400)
var time = 1;
var interval = setInterval(function(){
if(time == 10) clearInterval(interval)
console.log('触发')
test();
time++;
},100)