0

何時間も検索した後、問題の解決策が見つかりません:

function pseudoclass(Value){
    this.Value = Value;
}
aPlayGround = new Array();
aPlayGround[0] = new pseudoclass(0);
var Actual = 0;
var Width = 1;
var bBool = new Boolean(Actual%Width); //left becomes 0%1 ----> false
if (bBool && (aPlayGround[Actual-1].Value < 9)) {}

ブラウザにこのコードブロックを実行させると、mozilla firebug によって次のエラー メッセージが表示されます。

"TypeError: aPlayGround[(Actual - 1)] is undefined"

bBool11行目の2番目の条件がチェックされないようにするためのエラーハンドラーですが、最後の行を次のように変更しても、彼は引き続き機能します。

if (false && (aPlayGround[Actual-1].Value < 9)) {}

私は実際にエラーを回避するために要素の量を増やすだけの非常に醜い回避策に取り組んでいますが、ブラウザがこの未定義エラーを無視するようにするためのよりエレガントな方法が必要です残念ながら私はjsの初心者なので、シンプルにしてくださいどうも

4

1 に答える 1

0

を使用しないでください。これを使用new Booleanして結果をブール値にキャストするだけです。

var bBool = !!(Actual%Width);
于 2013-07-11T09:50:06.870 に答える