为什么写while(mynum=0)就会死机?
为什么写while(mynum=0)就会死机?
为什么写while(mynum=0)就会死机?
2015-02-16
你好,之所以死机是因为你的条写的有问题,造成了无限循环。
一、你最后的条件用的是赋值符号“=”,而不是等于号“==”。这就导致了,你的条件永远是true 成立的。因为你这类的赋值总是会成功的。那么你的do循环实际是在做无限循环。这样当然会死机。
二、不知道是不是你需要这样。如果是故意想让do只做一次循环那么你就没这第二个问题。我写这个二也是为了提醒下你。你这个即使用的是 == 等于符号。那么你这个条件也是没有意义的。因为当你的do执行了一次后,mynum的值是 5 。也就是说你条件里的 mynum == 1的条件是不成立的。那么你的do循环只做了一次循环就结束了。并且浏览器显示的数字是6。而nynum的实际最终值是5(因为你是先输出屏幕显示,后做了减一并赋值。)
<!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>
举报