间隔一定时间后才执行函数,如果没有到时间则清除执行函数
function debounce(fn, delay) {
let timer = null;
return () => {
if (timer) clearTimeout(timer);
timer = setTimeout(() => {
fn.apply(this, arguments);
}, delay);
};
}