1.setInterval()、setTimeout()的回调函数,一定要加.bind(this)方法。

原因是:在setInterval()中定义的回调函数,是在同步代码执行完后,随着事件触发来异步执行的,此时函数的上下文Context已经由定义该函数的Script文件变为全局变量,如果不通过bind(this)来指定由组件实例作为上下文的话,回调函数中的this会指向全局变量中的Window变量,显然不是我们想要的结果。

2.Ajax的回调函数,一定要加.bind(this)方法。

若不通过.bind(this)指定示例作为上下文的话,当回调函数执行时上下文Context会被设置为全局变量,这时候this就会指向Window变量。

3.Promise的回调函数,一定要加.bind(this)方法。

当Promise状态改变执行回调函数时,回调函数的上下文已经编程全局变量,this指向的不是该实例,而是Window变量。

4.指定DOM元素对于某事件的回调函数时,一定要加.bind(this)方法。

 

相关文章:

  • 2021-04-29
  • 2022-12-23
  • 2022-12-23
  • 2021-10-01
  • 2021-05-24
  • 2021-09-27
猜你喜欢
  • 2018-03-02
  • 2021-07-19
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-12-23
相关资源
相似解决方案