<分区>
考虑以下变量:
var obj = {
value : 'from object',
getValue : function() { return this.value; }
};
var value = 'from global';
现在,obj.getValue()
的计算结果为 'from object'
。如果我只获得对 getValue 函数的引用并调用它:
var f = obj.getValue;
f();
f 的计算结果为 'from global'
。
我的问题是为什么 (obj.getValue)();
返回 'from object'
?
我原以为第一组括号的计算结果是对 getValue 函数的简单引用,然后在调用该结果时,this
将是全局上下文。为什么解释器假定这是对对象的调用?