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");)。

しかし、 removevar a = 0;の場合、secondifは機能しません。

したがって、最初にif変数がない場合、2番目ifは機能しません。

解決策とは?変数を常に定義しますかjavascript? jqueryif no var a, then 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 に答える