请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

不太理解timer = null的含义

老师,我有一个疑问,在防抖的代码中,为什么最后还需要把timer赋值为空呢?我尝试了不加这句话和加上这句话的效果是一样的,想问一下这个的含义。

//防抖
function debounce(fn, delay = 500) {
    //timer是在闭包中的
    let timer = null

    return function() {
        if(timer) {
            clearTimeout(timer)
            //清空定时器 这一步为什么需要再次将timer赋值为空呢?
            timer = null
        }
        timer = setTimeout(() => {
            //使得传入的回调函数的this指向input这个元素对象
            fn.apply(this, arguments)
            
        }, delay)
    }
}

正在回答 回答被采纳积分+3

1回答

双越 2022-08-26 10:07:40

就是个初始化,直接写 let timer 不赋值 null 也没问题。


0 回复 有任何疑惑可以回复我~
问题已解决,确定采纳
还有疑问,暂不采纳
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号