javascript中的this绑定
Posted 天边彩虹
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了javascript中的this绑定相关的知识,希望对你有一定的参考价值。
一、this的作用
this一般在函数或对象的方法中使用
this用于自动引用合适的上下文对象,也就是自动引用调用函数的对象,相对于显式引用更加灵活,代码更加简洁
二、this的绑定
this在函数被调用时绑定,this的指向取决于函数在哪里被调用
绑定规则
- 默认绑定,也就是独立的函数调用
- 隐式绑定,函数引用有上下文对象时,this会被绑定到这个上下文
- 显式绑定,使用函数的call()或apply()或bind()来显示绑定this
- new绑定,构造一个对象,并把这个对象绑定到构造函数的this上
三、判断this绑定
按绑定规则的优先级来判断,顺序如下:
- 函数是否用new调用,如果是的话,this绑定的是新创建的对象
- 函数是否通过call、apply、bind调用,如果是的话,this绑定的是这3个方法传入的指定对象
- 函数是否在某个上下文对象中调用,如果是的话,this绑定的是这个上下文对象
- 如果以上都不是的话,就使用默认绑定(绑定到全局对象),严格模式下绑定到undefined
以上是关于javascript中的this绑定的主要内容,如果未能解决你的问题,请参考以下文章