【发布时间】:2012-11-29 12:42:32
【问题描述】:
在以下代码中:
var greeting = "hi";
function changeGreeting() {
if (greeting == "hi") {
var greeting = "hello";
}
alert(greeting);
}
changeGreeting();
...greeting 未定义。但是,如果我删除 var 并将 changeGreeting() 更改为:
function changeGreeting() {
if (greeting == "hi") {
greeting = "hello";
}
alert(greeting);
}
...我按预期得到“你好”。
我永远不会在我的代码中重新声明这样的变量,但为什么会发生这种情况?
【问题讨论】:
标签: javascript function scope