0%

简述JavaScript中的this

粗略地讲,函数的调用方式决定了this的值,谁调用的函数,this就指向谁。this取值符合以下规则:

1.如果函数作为构造函数用,那么其中的this就代表它即将new出来的对象。

2.如果applcallbind方法用于调用、创建一个函数,this的值就取传入的对象的值。

3.如果函数作为对象的一个属性时,并且作为对象的一个属性被调用时,函数中的this指向该对象。比如当obj.method()被调用时,函数内的 this 将绑定到obj对象。

4.如果调用函数不符合上述规则,那么this的值指向全局对象(global object)。浏览器环境下this的值指向window对象,但是在严格模式下('use strict')this的值为undefined

5.如果符合上述多个规则,则较高的规则(1 号最高,4 号最低)将决定this的值。

6.如果该函数是 ES2015 中的箭头函数,将忽略上面的所有规则,this被设置为它被创建时的上下文

-------------本文结束感谢您的阅读-------------