防抖 代码实现
时间: 2023-07-26 13:12:09 浏览: 77
前端的js防抖代码示例
防抖是一种常用的前端优化技术,可以避免在短时间内频繁触发函数而导致的性能问题。下面是一个简单的防抖函数的代码实现:
```javascript
function debounce(func, delay) {
let timer = null;
return function() {
const context = this;
const args = arguments;
clearTimeout(timer);
timer = setTimeout(() => {
func.apply(context, args);
}, delay);
}
}
```
这个函数接收两个参数:要执行的函数 `func` 和防抖的延迟时间 `delay`。它返回一个新的函数,当新函数被调用时,它会清除之前的定时器,然后再设置一个新的定时器来延迟执行原函数 `func`。如果在延迟时间内再次调用新函数,则会清除之前的定时器并重新设置一个新的定时器,直到延迟时间结束后才会执行原函数。这样就可以避免在短时间内频繁执行原函数而导致的性能问题。
阅读全文