以下代码导致控制台打印“Z”。
<script>
var x = new Array(new Array());
x[0][0] = "Z";
console.log(x[0][0]);
</script>
但是,如果我用任意尺寸的嵌套 for 循环替换 x[0][0] = "Z" ...
<script>
var x = new Array(new Array());
for(i=0;i<5;i++){
for(j=0;j<3;j++){
x[i][j] = "Z";
}
}
console.log(x[0][0]);
</script>
...它卡在第零次迭代中,尽管它与第一个中给出的指令(据我所知)相同。根据 Chrome 和 Firefox 的输出,它突然认为 x[0][0] 未定义。
这是怎么回事?