函数防抖
简单点来说就是带着一起做,一段时间内会等,然后带着一起做
function debounce(fn,delay){
let timerId = null
return function(){
if(timerId){window.clearTimeout(timerId)}
timerId = setTimeout(()=>{
fn.apply(this,arguments)
timerId = null
},delay)
}
}
函数节流
就是一段时间执行完一次之后,就不会执行第二次
function throttle(fn,delay){
let canUse = true
return function(){
if(canUse){
fn.apply(this,arguments)
canUse = false
setTimeout(()=>{
canUse = true
},delay)
}
}
}