function throttle(fn, wait, ...args) {
let timer = null;
return () => {
if(!timer) {
timer = setTimeout(() => {
fn(args);
timer = null;
}, wait)
}
}
}
function throttle2(fn, wait, ...args) {
let preTime = Date.now();
return () => {
let now = Date.now();
if(now - preTime >= wait) {
fn(args);
preTime = now;
}
}
}
function debounce(fn, wait, ...args) {
let timer = null;
return () => {
if(timer) {
clearTimeout(timer);
}
timer = setTimeout(fn, wait, args);
}
}
window.addEventListener('click', debounce((num)=> {
console.log(num);
}, 1000, 1))
console