2016-01-12 23 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

相关问题