为什么题目示例声明二维数组前不用加var
声明二维数组myarr【i】!这i不是一位数组的长度吗?怎么又变成二维数组的索引了?还有赋值为什么写在二维数组的循环里而不是写在循环之后
声明二维数组myarr【i】!这i不是一位数组的长度吗?怎么又变成二维数组的索引了?还有赋值为什么写在二维数组的循环里而不是写在循环之后
2016-05-13
var myarr=new Array();
for(var i=0;i<3;i++){
myarr[i]=new Array();
for(var j=0;j<6;j++){
myarr[i][j]=i*j;
}
}
document.write(myarr+"</br>");
这里myarr先声明了一维数组,然后进入for循环里myarr[i]每完成一次for循环[i]那就是增加1行,myarr[j]每完成一次for循环[j]那就是增加1列,循环完成以后myarr[i]行有3行,myarr[j]列有6列,赋值是取i和j每次循环的数值相乘而来的如:第一次循环i(0)<3,条件成立,然后执行j(0)<6,条件成立,然后执行myarr[i][j]=i*j;,第一次取值第1行第一列i(0)*j(0)=0,然后执行j(1)<6,j(1)<6的第二次循环成立,继续执行myarr[i][j]=i*j;第二次取值第1行第2列i(0)*j(1)=0。。。以此类推最后是这样的:[0,0,0,0,0,0],[0,1,2,3,4,5],[0,2,4,6,8,10]。希望你懂吧!
举报