Js防抖节流写法小结-记录一下吧
防抖
防抖-实际上就是将多次操作只是触发最后一次操作
function debounce(fn, delay=200){
let timer = null
return funtion(){
if(timer){
clearTimeout(timer)
}
timer = setTimeout(function(){
// 执行fn 此处可以使用apply,但是直接执行也是可以的
fn.apply(this,arguments)
}, delay)
}
}
节流
节流-和防抖不同的是 不是只是执行最后一次的,而是在定时器预定时间内减缓执行的次数
function throttle(fn, delay=2 00){
let timer = null
return funtion(){
if(timer){
return
}
timer = setTimeout(function(){
fn.apply(this,arguments)
}, delay)
}
}