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

 

posted @ 2021-06-15 23:45  天边彩虹  阅读(78)  评论(0编辑  收藏  举报