目录
前言
导语
代码部分
总结
前言
我是歌谣 我有个兄弟 巅峰的时候排名c站总榜19 叫前端小歌谣 曾经我花了三年的时间创作了他 现在我要用五年的时间超越他 今天又是接近兄弟的一天人生难免坎坷 大不了从头再来 歌谣的意志是永恒的 放弃很容易 但是坚持一定很酷
导语
手写防抖
编辑
代码部分
function geyao(fn, delay) {
//timer是一个定时器
let timer = null
// 返回一个闭包函数,用闭包保存timer确保其不会销毁,
重复点击会清理上一次的定时器
let arg = arguments
return function () {
// 调用一次就清除上一次的定时器
clearTimeout(timer)
// 开启这一次的定时器
timer = setTimeout(() => {
// 若不改变this指向,则会指向fn定义环境
fn.apply(this, arg)
}, delay)
}
}
总结
简单的说,当一个函数连续触发,只执行最后一次。