防抖是一种常见的前端编程技术,用于限制连续触发的事件频率。例如,当用户连续快速点击一个按钮时,防抖可以确保只有最后一次点击被触发,而忽略在短时间内的其他点击。
```javascript
function debounce(func, delay) {
let timerId;
return function (...args) {
const context = this;
clearTimeout(timerId);
timerId = setTimeout(() => {
func.apply(context, args);
}, delay);
};
}
// 示例用法
const debouncedFunction = debounce(() => {
console.log('Debounced function is triggered');
}, 300);
// 模拟连续点击
for (let i = 0; i < 5; i ) {
setTimeout(() => {
debouncedFunction();
}, i * 100);
}
```
在上面的示例中,`debounce`函数接受两个参数:要防抖的函数和延迟时间(以毫秒为单位)。它返回一个新的函数,该函数在调用时会设置一个定时器,在延迟时间内没有新的函数调用时执行原始函数。
1.
2.
3.
4.
通过以上指南和示例代码,你可以轻松地在JavaScript中实现防抖功能,并提升用户体验和应用性能。
文章已关闭评论!
2024-11-26 07:34:35
2024-11-26 07:33:07
2024-11-26 07:31:42
2024-11-26 07:30:26
2024-11-26 07:29:14
2024-11-26 07:28:06
2024-11-26 07:26:47
2024-11-26 07:25:20