防抖与节流
防抖
防抖,即两次执行间隔小于给定时间,则不执行
function 防抖(cb, delay = 200) {
let timer
return function () {
timer && clearTimeout(timmer)
timer = setTimeout(cb, delay)
}
}
节流
节流,即按固定频率执行
function 节流(cb, delay = 200) {
let flag = false
return function () {
if (!flag)
return
flag = false
setInterval(() => {
cb()
flag = true
}, delay)
}
}