防抖
防抖函数的作用是单位时间至只行最后一次,如果有操作则取消上一次的操作,以最新操作为准,简单实现
//防抖方法
function debounce(fn,time) {
let timer = null;
return function () {
if (timer) {
clearTimeout(timer);
}
timer = setTimeout(() => {
fn.apply(this, arguments);
}, time);
};
}
节流
节流函数的作用是单位时间内只执行一次操作
//节流方法
function throttle(fn) {
let timer = null;
return function () {
if (timer) {
return;
}
timer = setTimeout(() => {
fn.apply(this, arguments);
timer = null;
}, 1000);
};
}