写一个防抖函数
时间: 2024-02-21 10:00:29 浏览: 102
前端的js防抖代码示例
防抖函数的作用是在一定时间内,如果事件被触发多次,只执行最后一次。
以下是一个简单的防抖函数实现:
```javascript
function debounce(func, wait) {
let timeout;
return function executedFunction(...args) {
const later = () => {
clearTimeout(timeout);
func(...args);
};
clearTimeout(timeout);
timeout = setTimeout(later, wait);
};
}
```
上面的函数接受两个参数:
- `func`:要执行的函数;
- `wait`:等待的时间(单位:毫秒)。
返回一个新的函数,在这个新函数内部,通过 `setTimeout` 来实现防抖的效果。
当调用新函数时,会首先清除之前的 `timeout`,然后重新设置一个新的 `timeout`。如果在 `wait` 毫秒内再次调用该函数,就会清除之前的 `timeout`,重新设置一个新的 `timeout`,直到 `wait` 毫秒内没有再次调用该函数,才会执行 `func`。
阅读全文