2012-05-07 31 views

回答

3

取决于

this可以采取多种形式,使之成为不可预知的:

  • 在一个正常的函数调用,就像funcName()this是全局对象。在浏览器中,它是window对象。

  • 在函数使用“严格使用”的正常函数调用中,thisundefined

  • 对于用作构造函数的函数,如var instance = new ConstructorFunction(),this将引用从该构造函数创建的实例对象。

  • 对于对象文字,this是包含该函数的直接对象文字。

  • 当由call(context,args...)apply(context,[args...])调用时,this是什么context是。

2

this可以取决于你如何调用该函数改变:

var funnyB = obj.b; 
funnyB(); //this is window 
0

在您提供的对象文本语境,没有逻辑的区别。 this关键字指向obj变量,因为this是该对象的引用,该函数是属性/方法。

相关问题