自增

自增

自增是通过++来运算的

通过自增可以使变量在自身的基础上增加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>

posted on 2021-04-28 23:34  tallish  阅读(469)  评论(0)    收藏  举报

导航