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

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);

  }


胡子哥哥
浏览 737回答 5
5回答

米琪卡哇伊

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

明月笑刀无情

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

慕森卡

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

ABOUTYOU

就从你这里的函数定义是无法知道匿名函数的 this 指向的, 要看匿名函数是怎么调用的。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript