问答详情
源自:4-7 来来回回(Do...while循环)

为什么写while(mynum=0)就会死机?

为什么写while(mynum=0)就会死机?

提问者:游泳 2015-02-16 11:41

个回答

  • 网络首席管理监察官
    2015-02-16 14:44:36
    已采纳

    你好,之所以死机是因为你的条写的有问题,造成了无限循环。


    一、你最后的条件用的是赋值符号“=”,而不是等于号“==”。这就导致了,你的条件永远是true 成立的。因为你这类的赋值总是会成功的。那么你的do循环实际是在做无限循环。这样当然会死机。


    二、不知道是不是你需要这样。如果是故意想让do只做一次循环那么你就没这第二个问题。我写这个二也是为了提醒下你。你这个即使用的是 == 等于符号。那么你这个条件也是没有意义的。因为当你的do执行了一次后,mynum的值是 5 。也就是说你条件里的  mynum == 1的条件是不成立的。那么你的do循环只做了一次循环就结束了。并且浏览器显示的数字是6。而nynum的实际最终值是5(因为你是先输出屏幕显示,后做了减一并赋值。)

  • Fiona0126
    2015-02-19 21:55:06

    虽然你的问题解决了= =。我想说。。你是不是应该问的是while(mynum=1)会死机。。。而不是while(mynum=0)?...while(mynum=0)是不会死机的吧,这里的条件永远为假。。。

  • 学也
    2015-02-16 14:52:35

    是==

  • 游泳
    2015-02-16 12:17:45

    <!DOCTYPE HTML>
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>do...while</title>
    <script type="text/javascript">
        var mynum =6;//mynum初值化数值为6
    do
    {
    document.write("数字:"+mynum+"<br/>");
    mynum=mynum-1;
    }
    while(mynum=1)
    </script>
    </head>
    <body>
    </body>
    </html>


  • 学也
    2015-02-16 11:57:48

    前面的代码呢

  • javascript:
    2015-02-16 11:54:09

    推荐看恐怖游轮这部电影,看完了就知道为啥死机了.