防抖
高频操作,最后一次生效。
function debounce(fn) {
let timer = null;
return (...args) => {
clearTimeout(timer);
setTimeout(() => {
fn.applay(this, args);
}, 500);
};
}
节流
高频操作,每隔一段时间生效。
function throttle(fn) {
let timer = null;
return (...args) => {
if (timer) return;
timer = setTimeout(() => {
timer = null;
fn.applay(this, args);
}, 500);
};
}