Laravel  
laravel
文档
数据库
架构
入门
php技术
    
Laravelphp
laravel / php / java / vue / mysql / linux / python / javascript / html / css / c++ / c#

js throttle

作者:若此生已赞。   发布日期:2025-05-17   浏览:101

// Throttle function implementation
function throttle(func, limit) {
  let inThrottle;
  return function() {
    const args = arguments;
    const context = this;
    if (!inThrottle) {
      func.apply(context, args);
      inThrottle = true;
      setTimeout(() => inThrottle = false, limit);
    }
  };
}

// Example usage:
const resizeHandler = throttle(function() {
  console.log('Window resized');
}, 300);

window.addEventListener('resize', resizeHandler);

解释说明:

  1. throttle 函数:该函数接受两个参数,一个是需要节流的函数 func,另一个是节流的时间间隔 limit(以毫秒为单位)。
  2. 内部状态管理:通过一个布尔变量 inThrottle 来跟踪是否正在节流。如果当前没有在节流,则执行传入的函数,并将 inThrottle 设置为 true,防止在指定的时间间隔内再次触发。
  3. setTimeout:使用 setTimeout 来在指定的时间间隔后重置 inThrottle,从而允许下一次调用。
  4. 示例用法:在窗口调整大小事件中使用 throttle 来限制回调函数的执行频率,避免频繁触发导致性能问题。

上一篇:js window.print

下一篇:js formdata

大家都在看

js 数组对象排序

js 数组删掉第一个值

js fill

js 数组复制

js 复制数组

js 数组拷贝

js 对象转数组

js 深拷贝数组

js 获取今天年月日

js jsonp

Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3

Laravel 中文站