为什么this.bar在webstorm上返回不同的结果?

时间:2015-12-25 17:12:20

标签: javascript webstorm

我正在学习Javascript,目前正在观看有关它的讲座。像这样的讲座中的一个例子;

function foo(){
    console.log(this.bar);
}

var bar = "bar1";
var o2 = { bar: "bar2", foo: foo};
var o3 = { bar: "bar3", foo: foo};

foo();     // bar1
o2.foo();  // bar2
o3.foo();  // bar3

当我尝试在Google Chrome控制台上运行时,这是在评论中的预期效果。但我正在研究Webstorm,我意识到了foo();返回未定义。它可能是foo();并没有从全球调用,但为什么在Webstorm上这样做是这样的。 ECMAscript是5.1,我改变并尝试了不同的版本,但结果是相同的。谢谢你的帮助。

Webstorm控制台结果;

undefined
bar2
bar3

1 个答案:

答案 0 :(得分:0)

如果您没有执行客户端JS,WebStorm正在使用node.js.该代码的行为解释为here