JavaScript防抖与节流实现原理及代码示例
作者:青柠时间:2026-10-24 12:37:10浏览:370
本文介绍了JavaScript中防抖和节流的核心概念及实现方式。防抖指在指定时间内多次触发只执行最后一次,节流指在指定时间内只执行一次。通过闭包和定时器机制,分别展示了防抖和节流的具体代码实现,适用于高频事件场景下的性能优化。
防抖机制的核心逻辑是:在设定的时间窗口内,无论触发多少次任务,仅执行最后一次触发的操作。
节流机制的核心逻辑是:在设定的时间窗口内,无论触发多少次任务,仅允许执行一次操作。
防抖
<button id="debounce">点我防抖!</button>
$('#debounce').on('click', debounce());
function debounce() {
let timer;
// 闭包
return function () {
clearTimeout(timer);
timer = setTimeout(() => {
// 需要防抖的操作...
console.log("防抖成功!");
}, 500);
}
}

节流:
<button id="throttle">点我节流!</button>
$('#throttle').on('click', throttle());
function throttle(fn) {
let flag = true;
// 闭包
return function () {
if (!flag) {
return;
}
flag = false;
setTimeout(() => {
console.log("节流成功!");
flag = true;
}, 1000);
};
}

至此,关于JavaScript防抖与节流的案例介绍完毕。如需了解更多相关内容,建议查阅本站过往文章或继续阅读后续章节,感谢支持。
作者最新文章
ES6模块化中js文件怎么用import和export交互
2026-11-05 17:00:48
JS读取本地文件时报错或无响应的常见原因
2026-11-05 16:32:31
let、const与var的区别:JavaScript变量声明最佳实践
2026-11-05 14:16:38
JS中直接定义静态二维数组的字面量写法
2026-11-05 14:16:08
JS 怎么查找字符串中所有匹配项的位置
2026-11-05 14:15:53
