参考 博客
总之,节流是将频繁执行的函数限制在每隔一段时间执行一次,防抖是将频繁执行的函数只在函数停止执行时执行一次
封装的防抖函数
function _debounce(deFunction){
let timer;
return function(){
if(timer) clearTimeout(timer);//如果函数继续触发则取消执行函数
timer=setTimeout(() => {
deFunction();
}, 1000);
}
}
封装节流函数
function _throttle(thFunction){
let timer;
return function(){
if(!timer){
timer=setTimeout(() => {
thFunction();
timer=null;
}, 1000);
}
}
}