为了账号安全,请及时绑定邮箱和手机立即绑定

js 仿抖动函数为什么要存起this并在执行时为回调绑定作用域

js 仿抖动函数为什么要存起this并在执行时为回调绑定作用域

胡子哥哥 2019-03-01 10:11:35
RT 因为匿名函数中this指针本来就指向window不明白 如果只是想通过通过apply传递args参数列表完全可以写成fn.apply(window, args); 此举有何意义fn.apply(context, args);  let timer = null;  return function() {        let context = this;    let args = arguments;    clearTimeout(timer);    timer = setTimeout(function() {      fn.apply(context, args);    }, delay);  }} 
查看完整描述

5 回答

?
米琪卡哇伊

TA贡献1998条经验 获得超6个赞

定时器里的this指向window,建议你查一下js的this指向


查看完整回答
反对 回复 2019-03-26
?
明月笑刀无情

TA贡献1828条经验 获得超4个赞

setTimeout的函数里的this是指向window的,如果你在fn里需要访问function的上下文的话需要传入,否则也可以不传


查看完整回答
反对 回复 2019-03-26
?
慕森卡

TA贡献1806条经验 获得超8个赞

被节流的函数中this也可能不是window


查看完整回答
反对 回复 2019-03-26
?
ABOUTYOU

TA贡献1812条经验 获得超5个赞

就从你这里的函数定义是无法知道匿名函数的 this 指向的, 要看匿名函数是怎么调用的。


查看完整回答
反对 回复 2019-03-26
  • 5 回答
  • 0 关注
  • 736 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信