可以用 javascript 封装一个防抖截流函数吗?
时间: 2024-05-07 13:17:32 浏览: 99
可以的。在 JavaScript 中,防抖和节流函数是常见的性能优化方式。防抖和节流函数的作用是通过控制函数的执行,使得某些函数不会被频繁触发,从而提高性能。
下面是一个用 JavaScript 实现防抖截流函数的示例代码:
```javascript
function debounce(fn, delay) {
let timer = null;
return function(...args) {
clearTimeout(timer);
timer = setTimeout(() => {
fn.apply(this, args);
}, delay);
}
}
function throttle(fn, delay) {
let timer = null;
let lastTime = 0;
return function(...args) {
const now = + new Date();
if (now - lastTime > delay) {
fn.apply(this, args);
lastTime = now;
} else {
clearTimeout(timer);
timer = setTimeout(() => {
fn.apply(this, args);
lastTime = now;
}, delay);
}
}
}
```
防抖和节流的实现方式有很多种,这里只提供了其中一种示例代码。你可以根据自己的需求和应用场景来选择不同的实现方式。
阅读全文