自增
自增
自增是通过++来运算的
通过自增可以使变量在自身的基础上增加1
对于一个变量自增以后,原变量的值会立即自增1
自增分成两种后加加(a++)和前加(++a)
每增加一个加加都会让原变量增加1
<head>
<script>
var a = 1;
a++;
a++;
a++;
console.log("a ="+a);
</script>
</head>
<head>
<script>
var a = 1;
++a;
++a;
++a;
console.log("a ="+a);
</script>
</head>
a++的值等于原变量的值(自增以前的值)
下面的代码可以看出来写了一个a++
a++的自增规则是在原值的基础上自增1
所以表面上看起来a是1实际上通过a++已经变成2
所以结果是2
<head>
<script>
var a = 1;
a++;
console.log("a++ = "+ a++)
</script>
</head>
++a的值等于变量的新值(自增后的值)
根据++a的规则,写上++a就等于在变量a的1基础上增加了1
所以++a也就等于2
<head>
<script>
var a = 1;
++a;
console.log("++a ="+ ++a);
</script>
</head>
两种方法看起来得到的结果是一样的,但是两种方式的自增规则是不一样的。要理清逻辑关系,自增前的值和自增后的值要学会计算。
通过上面的解使下面的b结果是可以通过下面的顺序来算出来每一次自增的结果
第一个a++是在10原因是a++的规则是在a的基础上自增,所以第一个a++是10。
但是a++的规则是a++是自增以前的值,所以b后面的a++就是10
但是通过a++的自增后,第一个变量a的值已经变成11这是在代码上看不到的。
在来看下面的++a
因为通过a++的自增a的变量已经变成11,在通过++a的的计算,就是要在变量完成后的11在加上一个++a自增1也就变成了12
所以第二个++a是12
后面的a是因为通过++a的自增a的变量已经变成12所以a也是12
那么结果就是 10+12+12=34
<head>
<script>
var a = 10;
var b = a++ + ++a + a
console.log("b = "+b)
</script>
</head>
在来看一个更复杂的
1.a++=10 a变量=11
2.a++=11 a变量=12
3.++a=13 a变量=13
4.++a=14 a变量=14
5.a++=14 a变量=15(最后变量变成15但是结果已经截至到a++=14)
<head>
<script>
var a = 10;
var b = a++ + a++ + ++a + ++a + a++
10+11+13+14+14
</script>
</head>
要记住a++是变量以前
++a是变量以后
还要记住a的变量到底是多少在进行自增
再次理解a++
因为a++的规则是在变量以前自增,所以下面的a=a++也要得到a++自增以前的值
顺序是这样的
a++虽然等于21,但是我们要得到的是a的值
所以通过a++的规则,a++是变量以前的值
所以a=20
<head>
<script>
var a = 10;
a = a++;
console.log(a);
</script>
</head>
浙公网安备 33010602011771号