节流
节流就是使一段时间内经常执行的代码变成一定间隔内执行一次。
function debounce() {
let timer;
return (() => {
if (timer) return;
timer = setTimeout(() => {
console.log("节流");
timer = null;
}, 1000);
})
}
dd = debounce();
document.onmousemove = function () {
dd();
}
代码思想就是每隔一段时间执行代码,如果存在timer,直接返回;延迟函数中执行完毕以后,最后将timer设置为null
防抖
防抖就是使一段时间内事件触发执行的代码变成在最后一次触发以后才执行
function debounce() {
let timer;
return (() => {
if (timer) clearTimeout(timer);
timer = setTimeout(() => {
console.log("防抖");
}, 1000);
})
}
dd = debounce();
document.onmousemove = function () {
dd();
}
代码思想就是如果存在timer,那么消除它,重新设置。即对应事件连续触发,但只执行最后一次触发时的逻辑。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。