帮我写一份前端防抖代码
时间: 2023-04-08 21:03:22 浏览: 106
好的,以下是一个简单的前端防抖代码:
```javascript
function debounce(func, delay) {
let timer;
return function() {
const context = this;
const args = arguments;
clearTimeout(timer);
timer = setTimeout(() => {
func.apply(context, args);
}, delay);
}
}
```
使用方法:
```javascript
function doSomething() {
console.log('Doing something...');
}
const debouncedDoSomething = debounce(doSomething, 1000);
// 在事件处理程序中使用
element.addEventListener('input', debouncedDoSomething);
```
这个代码会在指定的延迟时间内,只执行一次函数。如果在延迟时间内再次触发函数,会取消之前的定时器,重新设置一个新的定时器。这样可以避免在短时间内多次触发函数,提高性能。
阅读全文