var myarr=new Array();
后定义二维
for(var i=0;i<3;i++)
var myarr[i]=new Array();
这里为什么对myarr[i]前加var是错误的
我的理解是,每加一个var,就相当于重新定义一次变量。。。这样是没有结果的,我试过了(var arr=new Array();var arr[i]=new Array();var arr[i][j]=i*j;)
var myarr=new Array(); for(var i=0;i<3;i++) myarr[i]=new Array();
同一个变量名。不能重复定义,就像你给一个杯子起名叫myarr之后又给另一个杯子起名叫myarr。这样就冲突了。
二维数组的这种定义方式其实是,先定义一个一维数组,然后每一个数组的元素的值,也就是myarr[i]中又赋值一个数组,也就是数组中的数组,就实现类二维数组了。
myarr 已经是一个变量了,不需要再加var修饰
你这行代码的意思 相当于声明了一个变量名字叫做myarr[i] 这个变量是一个数组 就相当于声明一个空数组 什么都没有干 正确时写法是 var newArray = myarr[i],