





















// 实现防抖函数 function debounce(fn, delay, immediate = false) { // 实现 let timer=null; let result=null; return function(...args){ if(timer){ clearTimeout(timer); timer=null; } if(immediate){ const callnow=!timer; timer=setTimeout(()=>{ timer=null; },delay); if(callnow){ result=fn.apply(this,args); } }else{ timer=setTimeout(()=>{ result=fn.apply(this,args); },delay) } return result; } }
function throttle(fn, limit) { let timer = null; let lastTime = 0; return function(...args) { const now = Date.now(); const remaining = limit - (now - lastTime); // 清除之前的定时器 if (timer) { clearTimeout(timer); timer = null; } // 应该立即执行 if (remaining <= 0) { fn.apply(this, args); lastTime = now; } // 设置定时器延迟执行 else { timer = setTimeout(() => { fn.apply(this, args); lastTime = Date.now(); timer = null; }, remaining); } }; }
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。