this指向规律
- 在函数体中,非显示或隐式地简单调用函数时,在严格模式下,函数内的this会被绑定到undefined上,在非严格模式下则会被绑定到全局对象window/global上。
- 一般使用new方法调用构造函数时,函数构造内的this会被绑定到指定参数上。
- 一般通过call/apply/bind方法显示调用函数时,函数内的this会被绑定到指定参数的对象上。
- 一般通过上下文对象调用函数时,函数体内的this会被绑定到该对象上。
- 在箭头函数中,this的指向是由外层(函数或全局)作用域来决定的。
-
全局this
-
上下文对象调用this
-
bind/call/apply改变this
-
构造函数this
-
箭头函数this
-
this优先级
new > 显示绑定(bind/call/apply) > 隐式绑定