// 封装防抖
// 原理:通过延时计时器,只执行最后一次事件
function Bounce(fn, delay) {
let t = null;
return function () {
if (t !== null) {
clearTimeout(t)
}
t = setTimeout(() => {
fn.call(this)
}, delay)
}
}
// 封装节流
原理:通过延时计时器,减少事件触发的频次来实现节流
function Save(fn, delay) {
let flag = true;
return function () {
if (flag) {
setTimeout(() => {
fn.call(this)
tag = true;
}, delay)
}
flag = false
}
}
封装防抖节流
最新推荐文章于 2023-02-01 23:05:18 发布