1.节流
throttling(func, delay){
//设置定时器开关
let timer = null
//返回节流函数
return function(...args){
//在节流期内再次触发,不会执行函数
if(timer) return
timer = setTimeout(() => {
func.apply(this,...args)
},delay)
}
}
2.防抖
debounce(func, delay){
//设置定时器开关
let timer = null
//返回防抖函数
return function(...args){
//在防抖期内再次触发,重新计时
if(timer) clearTimeout(timer)
timer = setTimeout(() => {
func.apply(this,...args)
},delay)
}
}