2013-07-11 54 views
0

搜索了幾個小時後我沒有找到我的問題的解決方案:JavaScript的覆蓋未定義

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的螢火此錯誤消息:

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

bBool是我的錯誤處理程序,以確保行11中的第二個條件沒有得到檢查,但他仍然可以 它工作,如果我將最後一行更改爲:

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

我其實工作的一個非常難看的解決方法,只是增加元素的量只是繞過錯誤,但必須有一些方式更優雅的方式來讓瀏覽器忽略這個不確定的錯誤 不幸的是我是一個很初級在JS所以請保持它的簡單 THX

回答

0

不要使用new Boolean,只需將結果轉換到使用這個布爾:

var bBool = !!(Actual%Width); 
+0

你不妨做'如果((實際%寬度)&&。 ..':P – Esailija