老师我这个i为什么会循环到102

老师我这个i为什么会循环到102

<!DOCTYPE html>

<html>

<head>

    <meta charset="UTF-8">

    <title>break和continue</title>

</head>

<body>

    <script>

    //在此处补充代码

    var sum=0,i=0;//sum是和,i是0到100

    while (i<=100){

        sum=sum+i;

        i+=2;

        if(i==22 || i==44 || i==66 || i==88){

            continue;

        }

        document.write(i+"<br>");

    }

    document.write(sum);

    </script>

</body>



</html>


正在回答

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

1回答

同学你好,原因如下:

当 i = 100 时,满足i <= 100的条件,此时while循环中的代码会继续执行,当执行到 i += 2 时,i 就变成了102,最后会输出在页面中

​while (i <= 100) {       // 当 i = 100时,满足循环条件
​ sum = sum + i;
​ i += 2; // 此时i变为 102
​ if (i == 22 || i == 44 || i == 66 || i == 88) {
​ continue;
}
document.write(i + "<br>"); // 输出i,102
}

祝学习愉快!

  • qq_慕容254374 提问者 #1

    那这个这样是对的吗?然后如果给sum=sum+i和i+=2调换上下位置的时候,得出的sum也是不一样的

    2021-07-01 17:22:34
  • 好帮手慕然然 回复 提问者 qq_慕容254374 #2

    同学你好,根据任务要求:sum计算结果中不能包含22,44,66以及88,所以sum计算结果存在问题。

    应当将代码sum = sum + i放在if语句之后:当i = 22、44、66、88时,满足if判断条件,会执行continue语句(即跳出本次循环,执行下一次循环),此时跳出本次循环就不会再执行if语句之后的代码,也就不会将22、44、66、88叠加到sum中。

    同时,将while循环条件修改为i <= 98,i就不会取到102。

    参考代码如下:

    http://img1.sycdn.imooc.com//climg/60dd8fe9093eba3208040629.jpg

    祝学习愉快!

    2021-07-01 17:52:12
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

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