我正在学习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