debounce()
时间: 2023-09-02 07:10:31 浏览: 98
AUTOSARDem之Debounce详解 硬件工程师电路分析物联网模电单片机嵌入式技术.doc
5星 · 资源好评率100%
`debounce()` 是一个常用的防抖函数,用于实现防抖功能。它是一个高阶函数,接受一个事件处理函数和延迟时间作为参数,并返回一个新的函数。
下面是一个简单的 `debounce()` 函数的实现示例:
```javascript
function debounce(func, delay) {
let timerId;
return function(...args) {
clearTimeout(timerId);
timerId = setTimeout(() => {
func.apply(this, args);
}, delay);
};
}
```
使用 `debounce()` 函数可以对任意事件处理函数进行防抖。例如,你可以将一个点击事件的处理函数通过 `debounce()` 进行防抖,确保点击事件在一定时间内只会触发一次。
```javascript
const handleClick = () => {
console.log('Clicked!');
};
const debouncedClick = debounce(handleClick, 300);
// 绑定防抖后的点击事件
document.addEventListener('click', debouncedClick);
```
在上述示例中,点击事件被绑定到了 `debouncedClick` 函数,该函数会在点击事件触发后的 300 毫秒内只执行一次。如果在 300 毫秒内多次点击,只有最后一次点击会触发事件处理函数。这样可以避免频繁点击造成的多次触发。
阅读全文