生成防抖节流函数方法
时间: 2023-12-23 11:25:20 浏览: 109
JavaScript节流防抖
在JavaScript中,防抖和节流是常用的优化性能的方法。防抖和节流的主要区别在于,防抖是在一定时间内只执行最后一次操作,而节流是在一定时间内只执行一次操作。下面是两种生成防抖和节流函数的方法:
1. 防抖函数:
防抖函数的实现方式是在一定时间内只执行最后一次操作。可以通过setTimeout函数来实现。
```
function debounce(func, delay) {
let timer = null;
return function() {
const context = this;
const args = arguments;
clearTimeout(timer);
timer = setTimeout(function() {
func.apply(context, args);
}, delay);
}
}
```
2. 节流函数:
节流函数的实现方式是在一定时间内只执行一次操作。可以通过设置一个标志位来实现。
```
function throttle(func, delay) {
let flag = true;
return function() {
const context = this;
const args = arguments;
if (flag) {
flag = false;
setTimeout(function() {
func.apply(context, args);
flag = true;
}, delay);
}
}
}
```
阅读全文