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