// 节流函数
export const throttle = (func, delay = 100) => {
let timer = null;
return function (…args) {
if(timer) {
return
}
timer = setTimeout(() => {
func.apply(this, args)
timer = null
}, delay)
}
}
// 防抖函数
export const debounce = (func, delay = 200) => {
let timer = null
return function (…args) {
timer && clearTimeout(timer);
timer = setTimeout(() => {
func.apply(this, args)
timer = null
}, delay);
};
};
请问在节流和防抖的settimeout中为什么要设置timer = null,这样设置的话在函数一开始对timer的判断岂不是没有意义,会每次都执行settimeout这个函数