写一段防抖代码
时间: 2023-07-10 11:16:18 浏览: 90
前端的js防抖代码示例
好的,以下是一个简单的防抖函数的示例代码:
```javascript
function debounce(func, delay) {
let timerId;
return function() {
const context = this;
const args = arguments;
clearTimeout(timerId);
timerId = setTimeout(() => {
func.apply(context, args);
}, delay);
};
}
```
使用方式如下:
```javascript
function myFunc() {
console.log('debounced function called');
}
const debouncedFunc = debounce(myFunc, 1000);
debouncedFunc(); // will call myFunc after 1000ms
debouncedFunc(); // will reset the timer and call myFunc after another 1000ms
```
这个防抖函数的作用是,如果在指定的延迟时间内连续调用同一个函数,则只有最后一次调用才会生效。这种技术在一些需要频繁调用函数的场景(比如输入框输入事件等)中非常有用,可以减少不必要的计算和网络请求。
阅读全文