为什么我会得到未定义或无效的参考'中期循环?

时间:2016-01-12 20:57:19

标签: javascript undefined-reference

我正在使用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>

1 个答案:

答案 0 :(得分: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]时,您处于未定义的区域,并收到警告。