问答详情
源自:3-7 二维数组

为什么在定义二维数组时再加个var会出错

var myarr=new Array();

后定义二维

for(var i=0;i<3;i++)

var myarr[i]=new Array();

这里为什么对myarr[i]前加var是错误的

提问者:细数繁星闪烁 2016-06-09 15:07

个回答

  • 慕粉1464062117
    2016-08-04 09:38:48

    我的理解是,每加一个var,就相当于重新定义一次变量。。。这样是没有结果的,我试过了(var arr=new Array();var arr[i]=new Array();var arr[i][j]=i*j;)

  • 无情镰刀白慧可
    2016-06-09 15:35:26

    var myarr=new Array();
    for(var i=0;i<3;i++)
        myarr[i]=new Array();

    同一个变量名。不能重复定义,就像你给一个杯子起名叫myarr之后又给另一个杯子起名叫myarr。这样就冲突了。

    二维数组的这种定义方式其实是,先定义一个一维数组,然后每一个数组的元素的值,也就是myarr[i]中又赋值一个数组,也就是数组中的数组,就实现类二维数组了。


  • 慕粉3480613
    2016-06-09 15:24:14

    myarr 已经是一个变量了,不需要再加var修饰

  • 差不多111307223
    2016-06-09 15:23:53

    你这行代码的意思 相当于声明了一个变量名字叫做myarr[i]  这个变量是一个数组   就相当于声明一个空数组 什么都没有干  正确时写法是 var newArray = myarr[i],