情况1:如果一个函数中有this,但是它没有被上一级的对象所调用,那么this指向的就是window;
情况2:如果一个函数中有this,这个函数有被上一级的对象所调用,那么this指向的就是上一级的对象;
情况3:如果一个函数中有this,这个函数中包含多个对象,尽管这个函数是被最外层的对象所调用,this指向的也只是它上一级的对象。
例外:
1、如果返回值是一个对象(非null,包括undefined),那么this指向的就是那个返回的对象,如果返回值不是一个对象那么this还是指向函数的实例;
2、new关键字可以改变this的指向,将这个this指向对象实例。
网友评论