在前端开发中,我们经常遇到需要处理频繁触发的事件,例如窗口大小改变、滚动事件等。如果我们直接在事件处理函数中执行一些耗时的操作或发送网络请求,可能会导致性能问题。为了解决这个问题,我们可以使用防抖函数来限制事件处理函数的执行频率,从而提高页面的响应速度。
防抖函数的核心思想是,在事件触发后等待一段时间,如果在这段时间内没有再次触发事件,才执行事件处理函数。如果在等待时间内又触发了事件,就重新计时。这样可以确保事件处理函数只会在事件停止触发一段时间后才执行,从而减少不必要的执行次数。
下面是一个简单的JavaScript实现防抖函数的示例代码:
function debounce(func, delay) {
let timerId;
return