防抖:仅最后一次操作有效
let timeout = null
return function() {
if(timeout){
clearTimeout(timeout)
}
timeout = setTimeout(() => {
fn.apply(this, arguments)
}, wait)
}
}
节流:仅第一次操作有效
let canRun = true
return function() {
if(!canRun) return
canRun = false
setTimeout(() => {
fn.apply(this, arguments)
canRun = true
}, wait)
}
}