为什么var input=prompt的这个放入while循环里不相等会一直弹出,什么流程

为什么var input=prompt的这个放入while循环里不相等会一直弹出,什么流程

<html>

<head>

    <meta charset="UTF-8">

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

</head>

<body>

<script>

  //补充代码

  var number=Math.floor(Math.random()*9+1);

  

  while(input!=number){

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

        if(input>number){

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

        }else if(input<number){

            alert("输入的数小了")

        }

    }  

         alert("恭喜你猜对了")

     

</script>

</body>

</html>


正在回答 回答被采纳积分+1

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

2回答
Miss路 2018-11-12 10:18:01

因为你放到外面之后,里面不会再循环弹出输入框了,但是while里面的条件永远成立,因为input只要判断出了猜大了,或者猜小了,就永远不等于number,所以就会无限循环猜大了,或者是猜小了。你的代码逻辑是有问题的,不过没有关系,一步步的发现问题,初步解决会让你收货更大。

关于判断这一块,如果你只想要判断一遍,可以参考下面的写法,不需要用while循环:

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

如果想要循环判断,参考如下:

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

如果帮助到了你,欢迎采纳!

  • 提问者 qq_浮巷旧人_0 #1
    将alert 我猜对了 放在while循环里面也可以啊 我一直以为得放在外面 那我放在外面算错嘛
    2018-11-12 11:41:26
  • Miss路 回复 提问者 qq_浮巷旧人_0 #2
    你试试能不能正常弹出,只要不能正常弹出就是错的。要看逻辑哦,不能随意乱猜。祝学习愉快!
    2018-11-12 13:47:03
Miss路 2018-11-11 13:27:02

因为猜不对的时候,就让一直猜,只要不对就循环。如果只想要猜一遍的话,就把这句放到循环外面。

如果帮助到了你,欢迎采纳!

  • 提问者 qq_浮巷旧人_0 #1
    放到外面会一直弹出你的数大了一直死循环为什么啊 ,,因为while嘛
    2018-11-11 14:26:55
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

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

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

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

在线咨询

领取优惠

免费试听

领取大纲

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