游泳
2015-02-16 11:41
为什么写while(mynum=0)就会死机?
你好,之所以死机是因为你的条写的有问题,造成了无限循环。
一、你最后的条件用的是赋值符号“=”,而不是等于号“==”。这就导致了,你的条件永远是true 成立的。因为你这类的赋值总是会成功的。那么你的do循环实际是在做无限循环。这样当然会死机。
二、不知道是不是你需要这样。如果是故意想让do只做一次循环那么你就没这第二个问题。我写这个二也是为了提醒下你。你这个即使用的是 == 等于符号。那么你这个条件也是没有意义的。因为当你的do执行了一次后,mynum的值是 5 。也就是说你条件里的 mynum == 1的条件是不成立的。那么你的do循环只做了一次循环就结束了。并且浏览器显示的数字是6。而nynum的实际最终值是5(因为你是先输出屏幕显示,后做了减一并赋值。)
虽然你的问题解决了= =。我想说。。你是不是应该问的是while(mynum=1)会死机。。。而不是while(mynum=0)?...while(mynum=0)是不会死机的吧,这里的条件永远为假。。。
是==
<!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>
前面的代码呢
推荐看恐怖游轮这部电影,看完了就知道为啥死机了.
JavaScript进阶篇
468060 学习 · 21891 问题
相似问题