【发布时间】:2014-03-28 05:50:49
【问题描述】:
我是 javascript 的新手。我通常用Java编程。我对以下代码 sn-p 感到困惑。
<script>
x = "foo";
function bar(p){
if (p){
document.writeln("x = " + x);
} else {
var x = "baz";
}
}
bar("baz");
</script>
当我运行上面的代码时,它的打印被剪断了
x = undefined
为什么它打印 undefined,因为 x 是一个全局变量,它应该打印 foo 对吗?谁能解释一下?
【问题讨论】:
-
不要将 var 添加到
var x = "baz";中的 x 中,只需x = "baz";
标签: javascript global-variables scope