js防抖怎么写
防抖是一种优化性能的技术,可以避免一些不必要的函数重复执行,使用场景比如搜索框输入联想,滚动事件等。
下面是一种简单的防抖实现方法:
function debounce(func, wait) {
let timeout;
return function() {
const context = this;
const args = arguments;
clearTimeout(timeout);
timeout = setTimeout(() => {
func.apply(context, args);
}, wait);
};
}
其中,func是需要执行的函数,wait是防抖的时间间隔。在防抖函数内部,我们使用setTimeout函数来延迟执行func函数,当在防抖时间内多次调用了该函数时,会不断清除之前的延时任务,重新设置新的延时任务,直到最后一次调用后,延时任务才会真正执行。
原文地址: https://www.cveoy.top/t/topic/Ysa 著作权归作者所有。请勿转载和采集!