JavaScript
代码
var a = 0;//remove latter
var b = 1;
if (a > 0) {
alert ("a > 0");
}
if (b > 0) {
alert ("b > 0");
}
一切正常(alert ("b > 0");
)。
但如果删除var a = 0;
,则第二个if
无效。
因此,如果第一个if
没有变量,那么第二个if
不起作用的结论。
什么是解决方案?始终定义javascript
- jquery
个变量?就像没有var a一样,那么var a = 0;?
答案 0 :(得分:3)
如果删除变量,javascript将面临错误(ReferenceError),因此它不会执行其余的代码伙伴。
答案 1 :(得分:2)
它不起作用的原因是因为你没有定义a
变量,而你正在使用未定义的变量来破坏javascript。如果删除
if (a > 0) {
alert ("a > 0");
}
其余代码应该可以使用。
答案 2 :(得分:2)
如果未声明变量,则javascript会抛出ReferenceError,因此必须声明将在javascript评估中使用的任何变量。
根据the spec所说的
是bahaviour如果是IsUnresolvableReference(V),则抛出ReferenceError异常。
所以是的,变量必须像var a, b
一样声明,即使它没有用任何值初始化。
答案 3 :(得分:2)
如果删除a
变量的定义,则会收到错误:
ReferenceError: a is not defined
并且您的脚本将被停止。