请教,还请查阅下代码哪里还需要改进的哈

来源:2-23 编程练习

SysHost

2019-01-16 11:51:18

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>猜数字</title>
</head>
<body>
    <script>
     //补充代码
     var a=prompt("请输入您猜的数字哦!范围为:1-10");
     while(a<=10){
        if(a<5){
        alert("猜小了!");
        a=prompt("请再次输入您猜的数字哦!");

      }else if(a>5){
        alert("猜大了!");
        a=prompt("请再次输入您猜的数字哦!");

      }else{
         alert("恭喜,猜中了!");
         break;
      }

     }
  </script>
</body>
</html>

以上代码请查阅下还有哪里需要改进的哈,我发现用  break据用可以结束弹出框,请问老师这里为什么可以用 break ,在不是switch循环语句也可以用吗,是不是在所有的循环语句都可以用break结束呢?

另外还有一个疑问哈,就是判断输入的数字为1-10,不在范围就弹出警告框,我试了在以下代码尝试,但是输入了正确答案“5”没有提示的。是我这里没设条件a==5吗?

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>猜数字</title>
</head>
<body>
    <script>
     //补充代码
     var a=prompt("请输入您猜的数字哦!范围为:1-10");
     while(a!=5){
      if(a<1 || a>10){
        alert("超出范围!");
        a=prompt("请再次输入您猜的数字哦!");

      }else if(a<5){
        alert("猜小了!");
        a=prompt("请再次输入您猜的数字哦!");

      }else if(a>5){
        alert("猜大了!");
        a=prompt("请再次输入您猜的数字哦!");

      }else{
         alert("恭喜,猜中了!");
         break;
      }

     }
  </script>
</body>
</html>

辛苦老师指导一下(*^__^*) 

写回答

2回答

山河远阔ZZ

2019-01-16

同学你好,经过测试代码有几下几点建议:

1、第二段代码中:当输入的数字为5的时候,要弹出一个alert(“猜对了”),因为while的条件是,当a不等于5的时候,才会进入这个while语句,所以把else{}的内容放到while循环外面去,参考下图:

http://img.mukewang.com/climg/5c3ec4e00001f94608870499.jpg

2、在所有的循环语句中,跳出当前循环,进入循环外的语句时候,可以使用break结束的,还是根据效果来决定的。

自己测试一下,希望解决了你的问题,祝学习愉快,望采纳!

0
hysHost
h 你好,非常感谢,请问多个else if 以后,不用else做结尾,以else if做结尾也算正常的是吗?
h019-01-16
共1条回复

山河远阔ZZ

2019-01-16

没有else结尾也是正常的结构,没有else,相当于else 后面空,就是当其他情况时不执行任何分支。

1
hysHost
h 明白,非常感谢老师!
h019-01-16
共1条回复

0 学习 · 36712 问题

查看课程