共计 448 个字符,预计需要花费 2 分钟才能阅读完成。
/**
- 节流和防抖
- 两者的区别
- 防抖:避免抖动“你先抖着,啥时候停下了,在执行下一步”,做完某一个操作时,限值执行次数,屡次密集的触发只执行一次
- 节流:节俭交互沟通,“别急,一个一个来,按工夫节奏来,插队有效”,进行某一个操作时,限度执行频率,有节奏的执行
- 节流关注“过程”,防抖关注“后果”
- 别离用于什么场景
- 防抖: 输入框,申请按钮
- 节流:拖拽,滚动
*/
function debounce(callback, delay=300) {
let timer = null;
return () => {
if(timer) {clearTimeout(timer);
timer = setTimeout(() => {callback();
timer = null;
}, delay)
}
}
}
function throttle(callback, delay=300) {
let timer = null;
return () => {
if(timer) return
timer = setTimeout(() => {callback();
timer=null;
}, delay)
}
}
正文完