防抖就是多次执行函数,只执行最后一次。节流就是只执行第一次,后面的都不执行;
debounce(func, delay) {
let timer = null;
return function (...args) {
if (timer) clearTimeout(timer);
timer = setTimeout(() => {
func.apply(this, args);//执行
}, delay);
};
},
//整个函数返回的是一个函数,
//delay是推迟时间;
这里回顾一下setTimeout的返回值,和clearTimeout()的知识。