防抖函数的作用是在一个时间段内,只执行最后一次调用,避免频繁调用函数造成资源浪费。以下是一个简版的防抖函数实现:

function debounce(func, delay) {  let timer;
  return function() {    const context = this;
    const args = arguments;
    clearTimeout(timer);
    timer = setTimeout(() => {      func.apply(context, args);    }, delay);  }
}

这个防抖函数接受两个参数,第一个参数是要执行的函数,第二个参数是延迟时间。函数内部创建了一个计时器,每次函数被调用时,先清除之前的计时器,并重新设置一个新的计时器,在延迟时间后执行函数。如果在延迟时间内再次调用函数,会清除之前的计时器,并重新设置一个新的计时器,直到延迟时间内没有新的调用,才会执行函数。

JavaScript 防抖函数实现:简易代码示例

原文地址: https://www.cveoy.top/t/topic/lFM9 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录