为什么把input == random放到不相等的前面就显示不出alert答对了的话呢?

为什么把input == random放到不相等的前面就显示不出alert答对了的话呢?

<!DOCTYPE html>

<html>

<head>

    <meta charset="UTF-8">

    <title>Math.random()</title>

</head>

<body>

<script>

   var input = prompt("请输入你猜的数字");

   function myFun(m,n){

       var choice = n-m+1;

       return Math.floor(Math.random()*choice+m);

   }

   var random = myFun(1,9);

   

   while(input != random) {

       if(input > random){

           alert("输入的数字大了");

       }else if(input < random) {

           alert("输入的数字小了");

       }

       input = prompt("请输入你猜的数字");

   }

   

  while(input == random){

       alert("恭喜你猜对了");

       break;

   } 

   

</script>

</body>

</html>


正在回答

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

2回答

判断了相等之后,下面没有代码了,是不会去上面找的,所以就直接停止了。

这个代码,不需要使用两个循环,直接弹出相等就可以了,

http://img1.sycdn.imooc.com//climg/5b6fb5c70001df5c05100426.jpg

好帮手慕星星 2018-08-12 11:23:55

把input == random放到不相等的前面:因为代码是按照顺序执行的,如果第一次输入的不相等,就会进入不相等的循环体里面,然后输入相等之后,跳出循环往后面之后,可以后面没有代码了,所以就弹不出来了。自己再理解下,祝学习愉快~~

  • 提问者 sunshine_mtt #1
    判断了相等就不进入该循环了?是否在所有的循环中都要先判断错的条件再判断对的条件?还有,像本题要用两次while,有没有好的方法只用一个while呢?
    2018-08-12 11:30:48
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

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

在线咨询

领取优惠

免费试听

领取大纲

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