什么是自加什么是自减,如果自加,第一个运算出来的数为什么是8不是9

什么是自加什么是自减,如果自加,第一个运算出来的数为什么是8不是9

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title> ++和--的运算</title>
</head>
<body>
    <script>
var one=4,
two=5,
three=(one++)+(--two),
four=(one++)-(--two),
five=(one++)*(--two),
six=(one++)/(--two)
;
document.write(four);
</script>
</body>
</html>


正在回答

登陆购买课程后可参与讨论,去登陆

1回答

自加++和自减--,举个例子来看一下:

(1)自加++

<script>
    mynum = 10;
    mynum++; //mynum的值变为11
</script>

mynum++使mynum值在原基础上增加1

(2)自减--

<script>
    mynum = 10;
    mynum--; //mynum的值变为9
</script>

mynum--使mynum在原基础上减去1

那么,three=(one++)+(--two)运算结果看似是9,实际上是8,这是因为one++混合计算时,会先将值用做计算,后自加,所以one用做计算值是4, 然后自加变为5,当one自加变成5时,three=(one++)+(--two)的计算已经执行完毕, 而--two是先自减然后将自减后的值用做计算值,所以two用做计算值是4,最后得到的three就是4+4为8了,实际开发中很少用到这样的混合计算,但是我们还是得知道这个小细节。总结来讲,就是one++是先计算再自加,++one就是先自加,在将自加后的值进行计算,two--是先计算,再自减,--two是先自减,再将自减后的值进行计算。

希望可以帮到你!

  • Ting111 提问者 #1
    one++是5,two--是4,按你算的应该是9啊
    2019-05-29 16:34:41
  • 卡布琦诺 回复 提问者 Ting111 #2
    three=(one++)+(--two)运算结果看似是9,实际上是8,这是因为one++混合计算时,会先将值用做计算,后自加,所以one用做计算值是4, 然后自加变为5,当one自加变成5时,three=(one++)+(--two)的计算已经执行完毕, 而--two是先自减然后将自减后的值用做计算值,所以two用做计算值是4,最后得到的three就是4+4为8了,实际开发中很少用到这样的混合计算,但是我们还是得知道这个小细节。总结来讲,就是one++是先计算再自加,++one就是先自加,在将自加后的值进行计算,two--是先计算,再自减,--two是先自减,再将自减后的值进行计算。
    2019-05-29 16:46:07
  • Ting111 提问者 回复 卡布琦诺 #3
    one++的意思就是运算完之后进行自加,自加的值不用在当前算式,而是用在下一个算式里
    2019-05-31 16:40:28
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师