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

惊天大BUG

把break 换成continue   点 提交  然后网页就炸了  卡着不动了  这不是个死循环呀  为什么能炸?

正在回答

3 回答

这就是个死循环

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

在break前加上 i=i+1;

0 回复 有任何疑惑可以回复我~
while(i<mynum.length)
{
  if(mynum[i]<60)
   {
    document.write("成绩"+mynum[i]+"不及格,不用循环了"+"<br>");
    break;
   }
  document.write("成绩:"+mynum[i]+"及格,继续循环"+"<br>");
  i=i+1;
}

因为这里的break如果换成continue的话,会出现:
当执行到continue语句时,程序跳出当前循环,再次判断while语句的i<mynum.length条件,然后判断if语句的mynum[i]<60条件,又遇到continue语句,再次跳出…
发现没有?这时i=i+1语句不会被执行,也就是while语句和if语句中的条件永远成立,即达成了死循环,所以就炸了

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

慕莱坞0778021

我想问下是不是一直停在i=4那个循环,一直死循环那个i=4,还是从头再开始?但continue不是只结束当前循环吗
2018-02-21 回复 有任何疑惑可以回复我~
#2

欧王吧 回复 慕莱坞0778021

continue是跳出当前循环的意思, 但是整体循环还在继续, 注意到这里的 循环语句是while,而不是for 。。。 然后 i++语句永远都没机会被执行, 所以 这里相当于只有这部分代码是会被执行的 while(i<mynum.length)//这个语句相当于while(1) { if(mynum[i]<60) { document.write("成绩"+mynum[i]+"不及格,不用循环了"+"<br>"); continue; }
2018-08-06 回复 有任何疑惑可以回复我~
#3

小鱼罐头150

continue是跳出当前循环,不是只跳出for循环吗,但还在while循环里,继续往下,I++语句不执行吗
2018-08-23 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
JavaScript进阶篇
  • 参与学习       468191    人
  • 解答问题       21891    个

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

进入课程

惊天大BUG

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