function foo() {
this.baz = "baz";
console.log(this.bar + " " + baz);
}
var bar = "bar";
var baz = new foo(); // "undefined undefined"
foo(); // "bar baz"

当我在函数上面运行时,输出为undefined undefined
。我不明白为什么bar
和baz
的值都没有显示在控制台日志中。
但是当我简单地调用foo()
时,控制台中的输出为"bar baz"
。为什么会这样?
答案 0 :(得分:1)
this.bar
未定义,也许您的意思是this.baz
?
baz
,因为您在构造函数中进行打印。在运行全局baz
变量时,仍然未定义。
答案 1 :(得分:-1)
很容易。仅仅因为你有范围问题。
请参阅...
function foo() {
this.baz = "baz";
console.log(bar + " " + this.baz);
}
var bar = "bar";
var baz = new foo();