js 手写防抖节流
1、防抖:避免事件的频繁调用,即当事件停止一段时间后再促发。
应用:浏览器resize、input校验、button点击
const myDebounce = (fn, wait){
let timer = null;
return (...args) => {
if (timer) clearTimeout(timer);
timer = setTimeout(() => {
fn(...args);
}, wait);
}
}
2、节流:控制事件调用的频率,即一段时间调用一次。
应用:scroll事件
const myThrottle=(fn,wait)=>{
let timer=null;
setTimeout(()=>{
if(timer) return;
fn();
timer=null;
},wait);
}
浙公网安备 33010602011771号