请稍等 ...
×

采纳答案成功!

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

老师,setTimeout里的timer = null 是不是可以不需要,每次触发throttle的时候不是会重新给timer赋值null吗?

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

2回答

圣诞树 2020-03-15 21:13:24

setTimeout里面的 timer = null 每次执行的时候都必须触发的,定时器执行完之后要重置 timer变量;而throttle函数中的 timer = null 只会在第一次调用的时候触发。两个地方作用不一样。

0 回复 有任何疑惑可以回复我~
双越 2020-01-11 13:02:49

timer 开始时不赋值为 null 也没问题,默认为 undefined 也可以。

0 回复 有任何疑惑可以回复我~
  • 老师,drag每次触发时都会执行addeventlistener指定的事件处理函数,那这样的话每次不都是重新let timer=null嘛?这样的话返回的闭包中timer的值应该永远都是null啊,怎么会走if(timer)的逻辑呢?   这点没想明白
    回复 有任何疑惑可以回复我~ 2021-10-29 22:41:39
  • 这里的let timer = null为什么只会在初始化执行呢
    回复 有任何疑惑可以回复我~ 2021-10-29 22:54:07
  • 双越 回复 慕村3449969 #3
    你打个断点看看,多次拖拽,let timer = null  会执行几次?
    回复 有任何疑惑可以回复我~ 2021-10-30 09:09:41
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信