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

最后为什么要写i=i+1

while(i<mynum.length)

{

  if(mynum[i]<60)

   {

    document.write("成绩"+mynum[i]+"不及格,不用循环了"+"<br>");

    break;

   }

  document.write("成绩:"+mynum[i]+"及格,继续循环"+"<br>");

  i=i+1;//为什么要加写i=i+1????????

  

}


正在回答

6 回答

如果不加的话就是死循环了,加上i=i+1相当于每次向下查一位,达到遍历数组的目的,i是一个变量名,默认为0,需要初始化,mynum[i]不代表所有的,如果每次不改变,就会一直取初始值。document.write(mynum[i])如果你下面不写i=i+1是没办法输出所有的。

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

web小菜 提问者

哦。谢谢
2017-04-12 回复 有任何疑惑可以回复我~

循环都必须具备初始值,迭代,终止条件,缺一不可

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

当已知遍历数组长度得时候用for,不知道的时候用while

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

for(var i=0;i<mynum.length,i++){

       if(mynum[i]<60){

        document.write("成绩"+mynum[i]+"不及格,不用循环了"+"<br>");

        i++;

}

}

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

不写i=i+1;的话就没法继续遍历数组的下一个元素啊,会一直处于当前元素的判断,不信的话你去掉这句,刷新一下,然后点击“自动运行”,你会发现你快卡住死机了,因为它处于死循环。。

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

不写的话就只执行第一个人的成绩查询了啊,写了i=i+1才能循环下去

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

web小菜 提问者

mynum[i]这里的i不是包括里面所有的数吗?应该都是可以输出的啊,不可以的话,document.write(mynum[i])为什么又全部可以数字输出来呢?有点凌乱了我
2017-04-11 回复 有任何疑惑可以回复我~
#2

学习js 回复 web小菜 提问者

。。。我也被你的奇怪逻辑搞得很无语。。我写的和下面一个人写的都看不懂?
2017-04-11 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

最后为什么要写i=i+1

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信