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

为什么在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,是不能用这样的方法吗?

提问者:Kitayama 2016-01-14 00:38

个回答

  • ImLea
    2016-04-29 15:43:26

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

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

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

    同理a++和++a。

  • aimoty
    2016-03-31 20:23:27

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

  • 烜烜
    2016-01-28 18:10:34

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

    mynum=mynum--的执行过程是

    mynum=mynum

    mynum=mynum

    mynum=mynum

    无限循环

  • nick5588
    2016-01-14 01:18:27

    mynum-- 等价于 mynum=mynum-1
    使用其一就可。