您的位置:首页 > 其它

自增(++)和自减(--)的解析

2015-10-14 16:37 239 查看
今天看书遇到了自增自减的问题,想了半天上网搜了半天才想明白,说白了就是,前置型递增(++a)是先自增一再运算,而后置型递增(a++)是先计算再自增一,自减同理。

实例说明(我用的是js):

1.首先,你要明确一点,当变量自加或自减后,无论他是在 = 的左或者右边,他都已经改变了。

<script type="text/javascript">
var num1 = 29;
var num2 = --num1;
alert(num1 +","+ num2); //结果:28,28
</script>
2.其次,是在简单运算中的顺序。
<script type="text/javascript">
var num1 = 2;
var num2 = 20;
var num3 = --num1 + num2;
var num4 = num1 + num2;
alert(num3 +","+ num4); //结果:21,21
</script>
如上,前置自减(--num1)是先自减1,再运算,sum3 = 1 + 20 = 21。
<script type="text/javascript">
var num1 = 2;
var num2 = 20;
var num3 = num1-- + num2;
var num4 = num1 + num2;
alert(num3 +","+ num4); //结果:22,21
</script>
如上,后置自减(num1--)是先[b]运算
[b]sum3 = 2 + 20 = 22
[/b],再自减1。[/b]
3.最后,是难一点的运算。

<script type="text/javascript">
var i = 0;
var j = i++ + i++;
alert(i +","+ j); //结果:2,1
</script>
<script type="text/javascript">
var i = 0;
var j = ++i + ++i;
alert(i +","+ j); //结果:2,3
</script>
<script type="text/javascript">
var j = 0;
var k = 0;
for( i=0; i<10; i++){
k = j++;
}
alert(i +","+ j +","+ k); //结果:10,10,9
</script>

前置型递增(++a)是先自增一再运算,而后置型递增(a++)是先计算再自增一,自减同理。就是这么简单,弄清原理,怎么变都不怕。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: