// 区别:目的都是减少事件触发频率,节流会在固定频率内触发,防抖会只执行一次
// 节流
function throttle(func, delay=150){
let start = +new Date(),
timer = 0;
return function(){
let cur = +new Date();
if (cur - start > delay){
timer = setTimeout(()=>{
func();
}, delay);
start = cur;
}
}
}
// 防抖
function debounce(func, delay=150){
let start = +new Date(),
timer = 0;
return function(){
let cur = +new Date();
window.clearTimeout(timer);
timer = setTimeout(()=>{
func();
}, delay);
start = cur;
}
}