防抖函数
短时间内大量触发同一事件,只会执行一次函数
function debounce(func,wait) {
let timer = null;
return (...args)=> {
if(timer) clearTimeout(timer)
timer = setTimeout(()=>{
func.apply(this,args)
},wait)
}
}
节流函数
每隔一段时间就执行一次
function throttle(func,wait) {
let timer = null;
return (...args)=> {
if(!timer) {
timer = setTimeout(()=>{
timer = null;
func.apply(this,args)
},wait)
}
}
}