防抖原理
简单理解就是输出最后一次结果前面的结果都会呗干掉
节流
简单理解就是延迟多少秒执行一次
//防抖
function debounce(fn) {
let timeout = null;
return function () {
if (timeout) clearTimeout(timeout);
timeout = setTimeout(fn, 1000);
};
}
function scroll() {
console.log(document.documentElement.scrollTop);
}
//节流
function throttle(fn) {
let timeout = null;
return function () {
if (timeout) return;
timeout = setTimeout(() => {
fn();
timeout = null;
}, 20);
};
}
document.body.onscroll = throttle(scroll);