js中的节流

节流是一种用于减少函数调用频率的技术。它通常用于对浏览器事件的处理(例如页面滚动、窗口大小更改等),或者对高频率触发的用户界面交互(例如输入搜索词或调整大小的拖动)进行优化。

节流的工作方式是在一段时间内限制函数的调用次数。例如,您可以设置函数每隔 100 毫秒才能被调用一次。这样,即使在这段时间内发生了多次事件,函数也只会被调用一次。这有助于减少不必要的计算和渲染,从而提高性能。

要实现节流,通常使用 JavaScript 中的 setTimeout 函数。例如,以下代码演示了如何将函数包装在节流函数中:

function throttle(fn, delay) {
  let lastCall = 0;
  return function (...args) {
    const now = Date.now();
    if (now - lastCall < delay) {
      return;
    }
    lastCall = now;
    return fn(...args);
  }
}

然后,您可以使用 throttle 函数来包装其他函数,并指定调用延迟:

const throttledFn = throttle(myFn, 100);

现在,每当调用 throttledFn 时,它都会等待 100 毫秒,并且只有在这段时间内没有调用时,才会真正调用 myFn。

你可能感兴趣的:(javascript,前端,开发语言)