防抖:如果短时间内多次触发同一事件,只会执行一次函数。
在这里我们把这个时间间隔设置为1000ms,如果1000ms内用户没有再次触发事件,就执行函数;如果1000ms内再次触发事件,我们就把当前的计时取消,重新开始计时。
防抖函数:
debounce(func,delay){
let timer = null;
return function(...args){
if(timer){clearTimeout(timer)}
timer = setTimeout(() => {
func.apply(this,args)
},delay)
}
}
节流:如果我们在短时间内大量触发同一事件,那么在函数执行一次以后,该函数在指定的时间内不再工作,直至过了这段时间才重新生效。(每隔一段时间执行一次)
节流函数:
throttle(func,delay){
let timer = null;
return function(...args){
if(timer) return
timer = setTimeout(() => {
func.apply(this,args)
},delay)
}
}
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。