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

关于for循环for(var i=0;i<3;i++)的疑问

我看很多人的答案是:for(var i=0;i<3;i++)

我觉得如果for(var i=0;i<3;i++),当i=2的时候就已经有数组[0],[1],[2],数组长度已经是3了,但是这个时候i=2还是满足条件i<3的,也就是还是会进入i++,也就是会得到i=3,这个时候才不会满足条件i<3,但是就会有数组[0],[1],[2],[3],数组长度就是4了。

不知道我这样理解对不对,我觉得应该是i<2,j<5才能满足任务要求。到4-5再详细理解吧。



提问者:weibo_张家泳Gawin_0 2017-10-10 23:05

个回答

  • 和茹
    2017-11-13 14:54:23

    i++是执行完for循环后,在下一次进入for循环判定前才自增1,你说的那种情况是++i,++在i前面是先执行自增,再去进行运算,i在++前面是先进行运算,再去自增,不知道说清楚没

  • 惊悚的窝窝头
    2017-10-28 09:28:39

    不满足条件就不会执行循环体里面的内容

  • 勤奋的程序员001
    2017-10-22 16:01:38

    你可以用for(var i=0;i<2;i++)先建一个一维数组,然后取myarr[2]看看是什么值

  • 慕粉1952553454
    2017-10-16 16:21:42

    你理解错了,这个i<3的意思不是你从0开始数,判断数字是不是小于3而是这个数组的长度是不是小于3,当你数到2的时候,长度已经等于3了,不满足小于3 的条件,所以i++就停止了

  • 慕粉191300257
    2017-10-11 22:49:44

    那照你理解i=0时岂不是也得++ . 那你的数组就变成[1],[2],[3]了?


  • 鱼羊鲜也
    2017-10-11 07:36:17

    当得到i=3的时候不满足条件,就不会执行for里的语句,所以不会产生数组[3]。for语句是通过条件来判断,若不符合条件就不会进入for的执行语句里,直接跳出循环。