为什么我会得到“未定义或空引用”的中间循环?

Why Do I Get 'Undefined or Null Reference' Mid-Loop?

提问人:RicardoX7 提问时间:1/13/2016 最后编辑:MarvinRicardoX7 更新时间:1/13/2016 访问量:42

问:

我正在使用 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>
JavaScript 未定义引用

评论


答:

5赞 Marc B 1/13/2016 #1

您只定义了 2 个子数组:

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

如果有 ,则会出现 undefined 警告,而不是 。[[],[],[]]myArray[3][2]

从长远来看,您的原始定义可以写成:myArray

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

然后你进入分配部分。当您尝试分配给 时,您处于未定义的区域,并收到警告。myArray[2]

评论

0赞 RicardoX7 1/13/2016
谢谢Marc B。你的回答引导我走向正确的方向。我正在使用 13 年 7 月 21 日发布的@mor中的代码(我不知道如何显示它的链接)。
0赞 sleblanc 1/27/2016
@RicardoX7,欢迎来到 StackOverflow!记住要投票给高质量的答案,并接受对你帮助最大的答案