为什么我把for命令改成while运行浏览器就会崩溃?

来源:4-9 继续循环continue

qq_寂夜_03993224

2017-03-17 17:29

 var i=0; while(i<mynum.length) {if(mynum[i]<60) document.write("成绩不及格,不输出!"+"<br>"); continue; } document.write("成绩:"+mynum[i]+"及格,输出!"+"<br>");        i=i+1; }

写回答 关注

7回答

  • qq_律动的音符_0
    2018-12-04 15:33:41

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

      var i = 0;

      while(i<mynum.length){

        if(mynum[i]<60){

    document.write("成绩不及格,不输出!"+"<br>"); 

    i=i+1;

    continue;

    }


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

    i=i+1;

      }


    牧牛娃

    正解!!!!!!!!!!!

    2019-11-14 17:10:00

    共 1 条回复 >

  • 一叶红尘
    2018-07-25 15:31:13

    为什么把i++放最后也会崩溃???

  • 一叶红尘
    2018-07-25 15:28:08

    我改来改去的崩溃了十几次了

  • 慕妹5016704
    2017-08-03 16:06:54

    首先if(mynum[i]<60)后面没加{,然后你在document.write("成绩不及格,不输出!"+"<br>"); continue;之间加个i=i+1,不然I永远小于mynum.length,死循环

  • Robert_Langdon
    2017-04-04 17:07:34

    continue只负责让一个循环语句产生”跳回“,即最接近continue的里层循环语句,因为if不是循环语句,continue不会找它,continue直接找 while(i<mynum.length),所以会死循环

  • smile9620
    2017-03-17 23:44:52

    break是结束整个循环体,continue是结束单次循环,当遇到continue时,就会回到开始的地方进行循环而执行不到i=i+1;又因i<mynum.length和mynum[i]<60始终成立,再次遇到continue又回到起点开始循环,就形成了一个死循环,直到服务器崩溃。for循环的话,每循环一次就会自动对i进行加1的操作,所以不会造成死循环的现象。

    风起临冬

    是因为while里的i=i+1是写在后面的,for的i=i+1写在开头的原因吗

    2018-07-28 12:16:05

    共 1 条回复 >

  • qq_慕莱坞8430671
    2017-03-17 18:10:04

    你先看 for循环的语法;在瞧瞧while的语法,,就明白了,,,,他们两个之间结构不一样的

JavaScript进阶篇

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

468061 学习 · 21891 问题

查看课程

相似问题