0

JavaScript代码

var a = 0;//remove latter
var b = 1;

if (a > 0) {
alert ("a > 0");
}

if (b > 0) {
alert ("b > 0");
}

所有作品(alert ("b > 0");)。

但是如果 remove var a = 0;,那么 secondif不起作用。

所以结论如果首先if没有变量,那么第二个if不起作用。

什么是解决方案?总是定义javascript-jquery变量?就像如果没有var a,那么var a = 0;?

4

4 回答 4

3

如果您删除一个变量,javascript 将面临一个错误(ReferenceError),因此它不会执行其余的代码伙伴。

于 2013-09-22T07:22:41.587 回答
2

它不起作用的原因是因为您a不再定义变量,并且您正在使用未定义的变量破坏 javascript。如果你删除

if (a > 0) {
alert ("a > 0");
}

其余的代码应该可以工作。

于 2013-09-22T07:22:04.290 回答
2

如果未声明变量,则 javascript 会抛出ReferenceError,因此必须声明将在 javascript 评估中使用的任何变量。

这是按照规范所说的行为

如果 IsUnresolvableReference(V),则抛出 ReferenceError 异常。

var a, b所以是的,即使没有用任何值初始化变量,也必须像这样声明变量。

于 2013-09-22T07:22:10.870 回答
2

如果你删除a变量的定义,你会得到一个错误:

ReferenceError: a is not defined

你的脚本将被停止。

于 2013-09-22T07:22:30.373 回答