为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

正在回答

6 回答

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


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


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

4 回复 有任何疑惑可以回复我~
#1

游泳 提问者

非常感谢!
2015-02-16 回复 有任何疑惑可以回复我~

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

0 回复 有任何疑惑可以回复我~
#1

游泳 提问者

谢谢你的回复
2015-02-25 回复 有任何疑惑可以回复我~

是==

1 回复 有任何疑惑可以回复我~
<!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>


0 回复 有任何疑惑可以回复我~

前面的代码呢

0 回复 有任何疑惑可以回复我~
#1

游泳 提问者

代码复制在下面了,谢谢回复
2015-02-16 回复 有任何疑惑可以回复我~

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

1 回复 有任何疑惑可以回复我~
#1

游泳 提问者

谢谢回复,呵呵,回头看一下
2015-02-16 回复 有任何疑惑可以回复我~
#2

游泳 提问者

看过了,死循环
2015-02-25 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

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

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信