2016-01-12 22 views
1

我使用VBS創建JavaScript數組。在HTML頁面上生成的代碼會生成一個錯誤(如下面代碼所示)。爲什麼這個錯誤會出現在第三個作業的位置? (我是一個相對的初學者)。爲什麼我會得到'未定義或空引用'中間循環?

<script type="text/javascript"> 

    var myArray = [[],[]]; 

    myArray[0][0] = "3"; 
    myArray[1][0] = "1"; 
    myArray[2][0] = "2"; 
    **Unable to set property '0' of undefined or null reference** 
    myArray[3][0] = "4"; 

</script> 

回答

5

你只定義2個陣列:

var myArray = [[],[]]; 
       ^^ ? ? 
       0 1 2 3 

如果你有[[],[],[]],你已經得到了上myArray[3]而不是[2]未定義警告。

於長遠的考慮,你原來myArray定義可以寫爲:

var myArray = []; // define parent array 
myArray[0] = []; // first child array 
myArray[1] = []; // second child array; 

,然後你走下車來分配部分。當您嘗試分配到myArray[2]時,您處於未定義的區域,並收到警告。

+0

謝謝Marc B.你的回答讓我朝着正確的方向前進。我正在使用13年7月21日發佈的@mor中的代碼(我不知道如何顯示鏈接)。 – RicardoX7

+0

@ RicardoX7,歡迎來到StackOverflow!記住要高質量的答案,並接受最能幫助你的答案 – sleblanc

相關問題