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

为什么在do..while循环里不能用自减?

<!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;//改成mynum=mynum--

}

while(mynum>0)

</script>

</head>

<body>

</body>

</html>

一改成mynum网页就crash,是不能用这样的方法吗?

正在回答

4 回答

这里要注意a--和--a的区别:

--在后边表示先赋值在计算,比如a=2,n=a--,结果n=2,a=1;

--在前边好事先计算在赋值,比如a=2,n=--a,结果n=1,a=1;

同理a++和++a。

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

假设一个数i,那么i++的意思是先返值i再加,意思就是加入你在这个算是前面加个输出,它显示的值是i而不是i+1,你改成++i就好了,++i的意思就是先加再返值,同理这里如果是mynum--,那么因为是先返值的原因肯定是死循环,你换成--mynum肯定就行了

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

mynum--的意思是先使用(赋值)再自减

mynum=mynum--的执行过程是

mynum=mynum

mynum=mynum

mynum=mynum

无限循环

1 回复 有任何疑惑可以回复我~
mynum-- 等价于 mynum=mynum-1
使用其一就可。


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

举报

0/150
提交
取消

为什么在do..while循环里不能用自减?

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