为什么要定义一个debouce函数来处理

为什么要定义一个debouce函数来处理

为什么要定义一个debouce函数来处理,不能直接在window.addEventListener()的里直接写延迟处理函数吗?

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

登陆购买课程后可参与讨论,去登陆

2回答
imooc_慕慕 2023-02-22 10:03:06

同学你好,这里理解有点偏差,这个debouce是封装的一个函数并且返回一个函数在debouce中定义的变量才形成了局部作用域,意义在于使用面向对的封装思想,从而解决在某个时间期限内,事件处理函数只执行一个达到防抖的效果。

祝学习愉快~

  • 提问者 慕粉1234567890123 #1

    debounce函数是程序员自己等一的函数,不是js自带的方法对吗?那我写代码的时候是不是可以不给它取名叫debounce?

    2023-02-22 15:40:01
  • imooc_慕慕 回复 提问者 慕粉1234567890123 #2

    同学你好,在一般的练习中可以随意定义,但是该函数名是固定的防抖函数名同时也体现了语义化,祝学习愉快~

    2023-02-22 15:56:19
慕粉1234567890123 提问者 2023-02-21 21:16:15

是不是因为如果直接写延迟处理函数的话,原有的let timer=null;就只能写在全局里了?

问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师