一、防抖
防抖是将多次执行变为最后一次执行。
var timer = null;
function debounce(func, delay) {
return function () {
timer && clearTimeout(timer);
timer = setTimeout(() => {
func.call(this, ...arguments);
}, delay);
};
}
二、节流
节流是将多次执行变成每隔一段事件执行
var timer = null;
function debounce(func, delay) {
return function () {
if (timer) return;
func.apply(this, ...arguments);
timer = setTimeout(() => {
clearTimeout(timer);
timer = null;
}, delay);
};
}