Javascript 尝试以编程方式创建多维数组

Javascript 尝试以编程方式创建多维数组,javascript,arrays,Javascript,Arrays,我正在测试使用for循环创建多维数组的能力,包括: for (var a = 0; a < 3; a++){ var pax[a] = new Array(); pax[a].push(1,2,3); } console.log(pax[2][1],pax[0][0]); for(var a=0;a

我正在测试使用for循环创建多维数组的能力,包括:

        for (var a = 0; a < 3; a++){
            var pax[a] = new Array();
            pax[a].push(1,2,3);
        }

        console.log(pax[2][1],pax[0][0]);
for(var a=0;a<3;a++){
var pax[a]=新数组();
pax[a].push(1,2,3);
}
console.log(pax[2][1],pax[0][0]);
但是它在
var-pax[a]


我认为这实际上可能是一个范围错误而不是语法错误,但我不能确定。

正如@Barmar指出的语法问题

试试看

var pax = new Array();
 for (var a = 0; a < 3; a++){
    pax[a] = new Array();
    pax[a].push(1,2,3);
}

console.log(pax[2][1],pax[0][0]);
var-pax=new-Array();
对于(var a=0;a<3;a++){
pax[a]=新数组();
pax[a].push(1,2,3);
}
console.log(pax[2][1],pax[0][0]);

更新后的代码是正确的,但不是作用域问题。JS有函数作用域,而不是块作用域。这是语法问题。
var-pax[a]
是无效语法。控制台不是在告诉你吗?
pax
是一个变量,
pax[a]
是一个表达式,它引用数组或对象中的元素,该元素是
pax
变量的值。请注意,数组的首选JavaScript语法是
var pax=[];