防抖是一种常用的前端技术,它可以避免在用户频繁触发某个事件时出现过多的请求或操作。
functiondebounce(func, delay) { lettimer=null; returnfunction() { constcontext=this; constargs=arguments; clearTimeout(timer); timer=setTimeout(function() { func.apply(context, args); }, delay); } }
定义一个按钮事件:
constbutton=document.querySelector('button'); functionhandleClick() { console.log('Clicked!'); } button.addEventListener('click', debounce(handleClick, 1000));