你的位置:首页 > Java教程

[Java教程]关于this


一:全局环境中的this指的是window对象

二:作为对象的方法调用

  当函数作为对象的方法被调用时,this指向该对象

      例子:

三:作为普通方法调用

  当函数不作为对象的属性被调用,而是作为普通函数函数被调用,this指向全局对象,也就是window

  例子1:

  此时this是指向window对象。

 

  如上图运行结果可以看出,在函数内部定义变量,未使用var 声明,则指向全局变量。可以对比结果

  

  例子2:

  如上图所示,作为普通函数调用时,this指向window 。作为对象属性调用时,this指向该对象。this是在对象内部函数定义的,但是调用的时候是作为普通函数调用,多以this依然指向window。

      this的指向,是根据调用时的环境,而非定义时的环境。

四:改变this指向,关于call()和apply();

  跟普通函数的调用相比,用call()或者apply()可以改变传入的this;

c

参考资料:《JavaScript设计模式与开发实践》 曾探

未完待续