3-4问题

3-4问题

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>break和continue</title>
</head>
<body>
    <script>
     var a=0,b=0;
     while(a<=100){
         if(a%2==0){
          if (a==22||44||66||88) {
          continue;
          }
             document.write(a+"<br/>");
         }
         a++
     }
     
    </script>
</body>


</html>

为什么我这样会造成死循环...哪里写错了还是思路错了?

正在回答

登陆购买课程后可参与讨论,去登陆

3回答
Miss路 2018-01-22 14:47:14

直接用一个for循环就可以了,你写的乱七八糟的,还有语法错误,“鹿屿”同学虽然没有为你解决问题,但是他说的两个问题你确实存在,还是基础语法不扎实,要多练习一下,参考下面的写法:

<script>
    //在此处补充代码
    var o = 0;
    for (var i = 0; i <= 100; i += 2) {
        if (i == 22 || i == 44 || i == 66 || i == 88) {
            continue;
        }
        o += i;
    }
    document.write(o + "<br>");
    </script>

加油!

  • 提问者 lingshi #1
    参考这个确实可以完成... 但是我之前的语法还是没弄懂,改掉鹿屿同学提出的问题后还是会死循环 想知道到底错在哪里,麻烦老师指教谢谢!
    2018-01-22 20:55:47
鹿屿 2018-01-22 09:48:51

1. 第二个if判断应该写成

if(a==22 || a==44 || a==66 || a==88)

2.当判断执行完后在页面输出所有偶数除了(22,44,66,88)之后所有的和应该是

b+=a


  • 鹿屿 #1
    还得加上: while(){ a+=2 }
    2018-01-22 09:54:51
  • 提问者 lingshi #2
    还是不行啊= =,直接卡死
    2018-01-22 14:28:49
  • 鹿屿 回复 提问者 lingshi #3
    不会呀,你把a+=2加在while下面就不会死循环了
    2018-01-22 16:32:28
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
前端小白入门系列课程
  • 参与学习           人
  • 提交作业       11218    份
  • 解答问题       36713    个

从一个不会编程的小白到一个老司机是需要过程的,首先得入门,学习基础知识,然后才能进阶,最后再到精通,本专题是你走进前端世界的不二选择!

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师