while里不可以用continue么?

来源:4-8 退出循环break

五趾的鱼

2017-04-24 10:28

var mynum =new Array(70,80,66,90,50,100,89);//定义数组mynum并赋值

var j=0;

while(j<mynum.length)

{

  if(mynum[j]<60)

   {

   

    continue;

   }

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

  j=j+1;

  

}


老是搞坏浏览器

写回答 关注

3回答

  • feno
    2017-04-24 17:03:26
    已采纳
    var mynum =new Array(70,80,66,90,50,100,89);//定义数组mynum并赋值
    var j=0;
    while(j<mynum.length)
    {
      if(mynum[j]<60) // 这个代码块有问题,当条件为真时,j值没有递增,导致while一直为true,死循环。
      {
          continue;
      }
      document.write("成绩:"+mynum[j]+"及格,继续循环"+"<br>");
      j=j+1;
    }

    正确写法:

    var mynum =new Array(70,80,66,90,50,100,89);//定义数组mynum并赋值
    var j=0;
    while(j<mynum.length)
    {
      j=j+1; 
      if(mynum[j-1]<60)
      {
          continue;
      }
      document.write("成绩:"+mynum[j-1]+"及格,继续循环"+"<br>");
    }


    Molly喜

    最佳理解有困难。 建议采用下面这种: 直接在continue前加j=j+1;其它代码与案例一样保持不变。

    2017-12-12 11:07:07

    共 5 条回复 >

  • 慕粉4358064
    2017-04-24 11:10:16

    break会直接跳出循环     continue只是跳出本次循环

    五趾的鱼

    感谢 感谢

    2017-04-24 17:18:02

    共 1 条回复 >

  • 慕的地3784823
    2017-04-24 10:57:43

    在if里面用continue,会直接跳出循环啊,并不是while里不能用continue,是你使用的时机不对,没必要这么写。

    var mynum =new Array(70,80,66,90,50,100,89);//定义数组mynum并赋值

    var j=0;

    while(j<mynum.length)

    {

      if(mynum[j]>=60)

       {

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

       }

        else

    {

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

    }

      

      j=j+1;

      

    }


    五趾的鱼

    那应该怎么加进去啊

    2017-04-24 11:09:20

    共 1 条回复 >

JavaScript进阶篇

本课程从如何插入JS代码开始,带您进入网页动态交互世界

468747 学习 · 22156 问题

查看课程

相似问题