JavaScript 求大神解释下这段防抖函数代码,最好详细越好

重点问下78行的意义是什么?我去掉,直接调用method效果是一样的... 重点问下78行的意义是什么?我去掉,直接调用method效果是一样的 展开
 我来答
骨沙成画
2019-05-10 · TA获得超过821个赞
知道小有建树答主
回答量:125
采纳率:50%
帮助的人:56.9万
展开全部
这个不难,先跟你说一下78行,那是调用回调函数method,并用apply把method中的this指向window,同时把debonce的参数作为method的参数传进去,但因为method里面没this,本身也没参数,所以跟直接调用效果差不多,但传了参数就有用。
而代码本身是当屏幕滚动时触发debounce中return的那个函数(不是debonuce,无论屏幕滚不滚debounce都会执行),self和args可以无视,后面是判断延时timer存不存在,存在就删除,删完创建一个新的,延时0.2s。执行的效果就会是当屏幕滚一下时会console出滚动条高度,但是在0.2s中连续滚动时同样只会触发一次,因为会不断调用return的函数,把前一个延时删除。
百度网友505ea3f
2019-05-10 · TA获得超过609个赞
知道小有建树答主
回答量:203
采纳率:42%
帮助的人:76.8万
展开全部
段防抖函数代码
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
cs1250947732
2019-05-10 · TA获得超过489个赞
知道小有建树答主
回答量:970
采纳率:55%
帮助的人:223万
展开全部
改变this指向和传递参数
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式