JavaScript 从浅入深 100 题训练计划--(6)节流函数(Throttle)

题目:手写节流函数,分别用时间戳和定时器两种方式实现,并比较区别

 

执行策略:固定时间间隔内只执行一次

执行时机:按固定频率执行

关键点:稀释多次为少数几次

比喻:游戏技能CD——冷却好了才能放

原理

  • 事件触发后开始计时
  • 固定时间间隔内只执行一次
  • 无论触发多少次,保证每隔 delay 毫秒执行一次
function throttle(fn, delay = 300) {
  let previous = 0;

  return function (...args) {
    const context = this;
    const now = Date.now();

    if (now - previous >= delay) {
      fn.apply(context, args);
      previous = now;
    }
  };
}

  

posted @ 2026-07-20 10:05  小新的蜡笔  阅读(2)  评论(0)    收藏  举报