javascript中的this绑定

Posted 天边彩虹

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了javascript中的this绑定相关的知识,希望对你有一定的参考价值。

一、this的作用

this一般在函数或对象的方法中使用

this用于自动引用合适的上下文对象,也就是自动引用调用函数的对象,相对于显式引用更加灵活,代码更加简洁

二、this的绑定

this在函数被调用时绑定,this的指向取决于函数在哪里被调用

绑定规则

  • 默认绑定,也就是独立的函数调用
  • 隐式绑定,函数引用有上下文对象时,this会被绑定到这个上下文
  • 显式绑定,使用函数的call()或apply()或bind()来显示绑定this
  • new绑定,构造一个对象,并把这个对象绑定到构造函数的this上

三、判断this绑定

按绑定规则的优先级来判断,顺序如下:

  1. 函数是否用new调用,如果是的话,this绑定的是新创建的对象
  2. 函数是否通过call、apply、bind调用,如果是的话,this绑定的是这3个方法传入的指定对象
  3. 函数是否在某个上下文对象中调用,如果是的话,this绑定的是这个上下文对象
  4. 如果以上都不是的话,就使用默认绑定(绑定到全局对象),严格模式下绑定到undefined

 

以上是关于javascript中的this绑定的主要内容,如果未能解决你的问题,请参考以下文章

深入理解JavaScript中的this关键字

javascript中的this总结

javascript中的this

javascript函数中的this的四种绑定形式

一文梳理JavaScript中的this

关于this指向,翻到的