请你扮演一个高级前端,分别写一个防抖节流函数
时间: 2023-08-02 19:23:40 浏览: 101
好的,我可以为您编写防抖节流函数。
防抖函数的作用是避免频繁触发事件,只有在事件触发后一段时间内没有再次触发,才会真正执行事件处理函数。下面是一个简单的防抖函数实现:
```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 throttle(func, delay) {
let timer;
return function () {
const context = this;
const args = arguments;
if (!timer) {
timer = setTimeout(() => {
func.apply(context, args);
timer = null;
}, delay);
}
};
}
```
这个函数接受两个参数:需要执行的函数和延迟时间。它返回一个新的函数,这个新函数会限制函数执行的频率,确保函数不会在短时间内被重复执行。
希望这些函数能帮到您!
阅读全文