可能重复:
is there any Advantage of redeclaring javascript variables?声明变量使用VAR分配后至可变
为什么以下代码显示器1而不是未定义:
a = 1;
var a;
alert(a);
可能重复:
is there any Advantage of redeclaring javascript variables?声明变量使用VAR分配后至可变
为什么以下代码显示器1而不是未定义:
a = 1;
var a;
alert(a);
1) var
不重新声明或删除变量
2)即使它,你的代码被改写*使用JavaScript提升规则(任何变量或函数声明被移到最近的封闭功能的顶部)如下:
var a;
a = 1;
alert(a);
(*有效改写;请参阅RobG关于输入执行上下文的注释和链接以进行说明)
为什么你会_think_它应该提醒'undefined'?你已明确指定'a'! –
我最初的假设是变量将被重新声明。我通过运行代码知道作业仍然存在,但不知道为什么。我想我可以放弃'而不是未定义'部分,但认为它会添加一些上下文。 – markm247