概念:
防抖:(类似于等电梯,只要有一个人进来,就要在等一会儿)(设置一个过期时间,若在时间未过期时再次触发,过期时间重新计算)
function antiShake (fn,wait) {
let timer = null;
return () =>{
if(timer ){
clearTimeout(timer)
}
timer = setTimeout(fn,wait)
}
}
节流:(类似于等红绿灯,一个绿灯过一批,取决于变绿灯的时间)
function throttle(event,time) {
let timer = null;
return () =>{
if(!timer ){
timer = setTimeout(()=>{
event();
timer = null
},time)
}
}
}
具体实现:点击 → 防抖和节流