用于限制某个函数在特定时间段内的执行频率。当某个事件频繁触发时(比如用户滚动页面、窗口大小调整、连续按键等),节流函数确保在单位时间内,无论事件触发了多少次,目标函数至多仅执行一次。即使事件处理程序原本会被连续快速地调用,经过节流处理后,会在每个预设的时间间隔内至少等待指定的延迟时间,然后才执行回调函数。
- 声明定时器
- 返回函数
- 一定时间间隔,执行回调函数
- 回调函数
- 已执行:清空定时器
- 未执行:返回
function throttle(fn, interval) {
let timer = null
return function (...args) {
if (timer) return
timer = setTimeout(() => {
timer = null
fn.apply(this, args)
}, (interval +'')| 0 || 1000 / 60)
}
}
4315

被折叠的 条评论
为什么被折叠?



