为什么 this.bar returns 在 webstorm 上有不同的结果?
Why this.bar returns a different result on 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(); returns未定义。可能是 foo();不是从全局调用,但为什么它在 Webstorm 上是这样工作的。 ECMAscript 是 5.1,我更改并尝试了不同的版本,但结果是一样的。感谢您的帮助。
Webstorm 控制台结果;
undefined
bar2
bar3
如果您不执行客户端 JS,WebStorm 正在使用 node.js。该代码的行为在 here.
中进行了解释
我正在学习 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(); returns未定义。可能是 foo();不是从全局调用,但为什么它在 Webstorm 上是这样工作的。 ECMAscript 是 5.1,我更改并尝试了不同的版本,但结果是一样的。感谢您的帮助。
Webstorm 控制台结果;
undefined
bar2
bar3
如果您不执行客户端 JS,WebStorm 正在使用 node.js。该代码的行为在 here.
中进行了解释