this指向问题

2018-09-06  本文已影响0人  糯米x

简单一句话来说,this的指向不是在创建时候决定的,而是调用的时候,谁调用就指向谁。

在严格模式下,未指定坏境,而调用函数,那么this值不会转行为window,而是undefined,如果不是严格模式中,我们可以认为是window;

还有一种情况,如果一个函数中有一个this,但是这个函数包含多个对象,尽管这个函数是被最外层函数的对象所调用,this也只指向它的上一级

new可以改变this的指向(原因是new会创建一个空对象,会自动调用一个apply方法,函数内部的this就会被这个空对象所替代)

另外一种情况下,当this遇到return的时候

如果返回值是一个对象,那么this指向该对象,如果不是则指向这个对象的实例,(null除外,因为它返回的也是对象实例)

上一篇下一篇

猜你喜欢

热点阅读