为了账号安全,请及时绑定邮箱和手机立即绑定

这一节没看懂!麻烦大神解答一下

讲解案例中的

var myarr=new Array();  //先声明一维 
for(var i=0;i<2;i++){   //一维长度为2
   myarr[i]=new Array();  //再声明二维 
   for(var j=0;j<3;j++){   //二维长度为3
   myarr[i][j]=i+j;   // 赋值,每个数组元素的值为i+j
   }
 }

问题:不明白为什么(i=0;i<2;i++)得出的结果一维长度就为2了呢?可不可以这么理解:i=0;i<2,那么i可以取值为0和1,那i++之后应该得出两个数1和2啊,那为啥值就为2而不是1呢?


正在回答

2 回答

for(var i=0;i<2;i++)这句的意思是,
首先给i赋值为0,
然后判断i<2是否符合,
如果是,运行{  }的语句,
然后执行i++,
再然后判断i<2是否符合。
所以符合的只有i=0,i=1,即一维数组长度为2。

0 回复 有任何疑惑可以回复我~
#1

Chris_克瑞斯 提问者

非常感谢!
2017-05-24 回复 有任何疑惑可以回复我~
你要理解一下for语句,括号里面第三个其实是在for语句的最后运行的
0 回复 有任何疑惑可以回复我~
#1

Chris_克瑞斯 提问者

我明白了,是我把长度和值搞混了,(i=0;i<2;i++)就是i(0,1), 长度就是2个数值,i++其实就是给下一个循环定基数的,不知道这么理解对不对
2017-05-24 回复 有任何疑惑可以回复我~
#2

慕勒7123956 回复 Chris_克瑞斯 提问者

是的,i++的下一步就是下一个循环
2017-05-24 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

这一节没看懂!麻烦大神解答一下

我要回答 关注问题
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号