var x= 'global';
var bar = {
x : 'local',
foo : function () {
console.log(this.x);
}
};
bar.foo(); // output:local
(bar.foo)(); // output:local
为什么(bar.foo)()
返回的结果也是global
,我的理解是先执行左边的括号,那么这是一个匿名函数,这个匿名函数自执行,没有找到方法的调用者,理应自动指向全局对象,那么返回接活应该是global
才对。
请大神指正。
主要看this指向哪,这里this只会指向本事。,不会指向window..