JavaScript自增(++)、自减(--)运算符的理解

JavaScript自增、自减运算符与表达式语法

表达式语法:

var i++;
var 声明变量
i 变量名
++ -- 自增运算符

 

 

JavaScript自增、自减运算符与表达式(i初始值为1)

运算符

++i

--i

i++

i--

名称

前自增运算符

前自减运算符

后自增运算符

后自减运算符

表达式

++i

--i

i++

i--

示例

++i;

--i;

i++;

i--;

i的结果

2

0

1

1

有趣的示例

var i=1

console.log(i)

console.log(++i)

console.log(i)

var i=1

console.log(i)

console.log(--i)

console.log(i)

var i=1

console.log(i)

console.log(i++)

console.log(i)

var i=1

console.log(i)

console.log(i--)

console.log(i)

结果

1

2

2

1

0

0

1

1

2

1

1

0

 

 

示例解释

前自增运算符与后自增运算符有本质的区别:

相同点:都是为自身加1

不同点:前自增运算符是先加1,再使用操作数的值;

              后自增运算符是先使用操作数的值,再加1。

 

例子 1:

var a;
var i=1;
//(前加加) i 加 1 后,i 等于 2,并将 i 值赋予 a,于是 a 等于 2 // 如果++在前面,则先自身加1,然后再参与运算 a=++i; document.write(i);//结果是:2 document.write(a);//结果是:2
var b;
var j=1;

//(后加加)将 j 值赋予 b,于是 b 等于 1,最后 j 加 1,j 等于 2
// 如果++在后面,则先参与运算,自身再加1
b=j++;
document.write(j);//结果是:2
document.write(b);//结果是:1

 

 

 

例子 2:

++ 在前面

<script>

    var num = 1

    // 如果++在前面,则先自身加1,然后再参与运算
    console.log(++num)// 先自身加1:1+1=2 2赋值给了num,所以num=2,结果就是:2
    console.log(++num)// 先自身加1:2+1=3 3赋值给了num,所以num=3,结果就是:3
    console.log(++num)// 先自身加1:3+1=4 4赋值给了num,所以num=4,结果就是:4
    console.log(++num)// 先自身加1:4+1=5 5赋值给了num,所以num=5,结果就是:5
    console.log(++num)// 先自身加1:5+1=6 6赋值给了num,所以num=6,结果就是:6

</script>

<script>

    var num1 = 1

    // 如果++在前面,则先自身加1,然后再参与运算
    console.log(++num1 + 1)// 先自身加1:1+1=2 2赋值给了num,所以num=2,然后参与运算:2+1=3
    console.log(++num1 + 2)// 先自身加1:2+1=3 3赋值给了num,所以num=3,然后参与运算:3+2=5
    console.log(++num1 + 3)// 先自身加1:3+1=4 4赋值给了num,所以num=4,然后参与运算:4+3=7
    console.log(++num1 + 4)// 先自身加1:4+1=5 5赋值给了num,所以num=5,然后参与运算:5+4=9
    console.log(++num1 + 5)// 先自身加1:5+1=6 6赋值给了num,所以num=6,然后参与运算:6+5=11

</script>

<script>

    var num2 = 1

    // 如果++在前面,则先自身加1,然后再参与运算
    console.log(++num2 + 2)// 先自身加1:1+1=2  2赋值给了num,所以num=2,然后参与运算:2+2=4
    console.log(++num2 + 3)// 先自身加1:2+1=3  3赋值给了num,所以num=3,然后参与运算:3+3=6
    console.log(++num2 + 4)// 先自身加1:3+1=4  4赋值给了num,所以num=4,然后参与运算:4+4=8
    console.log(++num2 + 5)// 先自身加1:4+1=5  5赋值给了num,所以num=5,然后参与运算:5+5=10
    console.log(++num2 + 6)// 先自身加1:5+1=6  6赋值给了num,所以num=6,然后参与运算:6+6=12

</script>

 

 

++ 在后面

<script>

    var num = 1

    // 如果++在后面,则先参与运算,自身再加1
    console.log(num++)// 先参与运算,num++ = 1 , 自身加 1 得出 2;赋值给 num, num=2
    console.log(num++)// 先参与运算,num++ = 2 , 自身加 1 得出 3;赋值给 num, num=3
    console.log(num++)// 先参与运算,num++ = 3 , 自身加 1 得出 4;赋值给 num, num=4

</script>

<script>

    var num1 = 1

    // 如果++在后面,则先参与运算,自身再加1
    console.log(num1++ + 1)// 先参与运算:1+1=2;自身加1得出:2,赋值给 num, num=2
    console.log(num1++ + 2)// 先参与运算:2+2=4;自身加1得出:3,赋值给 num, num=3
    console.log(num1++ + 3)// 先参与运算:3+3=6;自身加1得出:4,赋值给 num, num=4

</script>

<script>

    var num2 = 1

    // 如果++在后面,则先参与运算,自身再加1
    console.log(num2++ + 2)// 先参与运算:1+2=3;自身加1得出:2; 赋值给 num, num=2
    console.log(num2++ + 3)// 先参与运算:2+3=5;自身加1得出:3; 赋值给 num, num=3
    console.log(num2++ + 4)// 先参与运算:3+4=7;自身加1得出:4; 赋值给 num, num=4

</script>

 

 

--在前面

<script>

    var num = 1

    // 如果--在前面,则先自身减1,然后再参与运算
    console.log(--num)// 先自身减1;1-1=0      0赋值给了num,所以num=0,结果就是:0
    console.log(--num)// 先自身减1;0-1=-1    -1赋值给了num,所以num=-1,结果就是:-1
    console.log(--num)// 先自身减1;-1-1=-2   -2赋值给了num,所以num=-2,结果就是:-2
    console.log(--num)// 先自身减1;-2-1=-3   -3赋值给了num,所以num=-3,结果就是:-3
    console.log(--num)// 先自身减1;-3-1=-4   -4赋值给了num,所以num=-4,结果就是:-4

</script>

<script>

    var num1 = 1

    // 如果--在前面,则先自身减1,然后再参与运算
    console.log(--num1 - 1)// 先自身减1;1-1=0      0赋值给了num,所以num=0, 然后参与运算: 0-1=-1
    console.log(--num1 - 2)// 先自身减1;0-1=-1    -1赋值给了num,所以num=-1, 然后参与运算:-1-2=-3
    console.log(--num1 - 3)// 先自身减1;-1-1=-2   -2赋值给了num,所以num=-2, 然后参与运算:-2-3=-5
    console.log(--num1 - 4)// 先自身减1;-2-1=-3   -3赋值给了num,所以num=-3, 然后参与运算:-3-4=-7
    console.log(--num1 - 5)// 先自身减1;-3-1=-4   -4赋值给了num,所以num=-4, 然后参与运算:-4-5=-9

</script>

<script>

    var num2 = 1

    // 如果--在前面,则先自身减1,然后再参与运算
    console.log(--num2 - 2)// 先自身减1;1-1=0      0赋值给了num,所以num=0, 然后参与运算: 0-2=-2
    console.log(--num2 - 3)// 先自身减1;0-1=-1    -1赋值给了num,所以num=-1, 然后参与运算:-1-3=-4
    console.log(--num2 - 4)// 先自身减1;-1-1=-2   -2赋值给了num,所以num=-2, 然后参与运算:-2-4=-6
    console.log(--num2 - 5)// 先自身减1;-2-1=-3   -3赋值给了num,所以num=-3, 然后参与运算:-3-5=-8
    console.log(--num2 - 6)// 先自身减1;-3-1=-4   -4赋值给了num,所以num=-4, 然后参与运算:-4-6=-10

</script> 

 

 

--在后面

<script>

    var num = 1

    // 如果--在后面,则先参与运算,自身再减1
    console.log(num--)// 先参与运算,num-- = 1 , 自身减 1 得出 0;赋值给 num, num=0   console的结果是 1
    console.log(num--)// 先参与运算,num-- = 0 , 自身减 1 得出 -1;赋值给 num, num=-1   console的结果是 0
    console.log(num--)// 先参与运算,num-- = -1 , 自身减 1 得出 -2;赋值给 num, num=-2   console的结果是 -1

</script>

<script>

    var num1 = 1

    // 如果--在后面,则先参与运算,自身再减1
    console.log(num1-- - 1)// 先参与运算:1-1=0;自身减1得出:0,赋值给 num, num=0   console的结果是:0
    console.log(num1-- - 2)// 先参与运算:0-2=-2;自身减1得出:-1,赋值给 num, num=-1   console的结果是:-2
    console.log(num1-- - 3)// 先参与运算:-1-3=-4;自身减1得出:-2,赋值给 num, num=-2   console的结果是:-4
    console.log(num1-- - 4)// 先参与运算:-2-4=-6;自身减1得出:-3,赋值给 num, num=-3   console的结果是:-6
    console.log(num1-- - 5)// 先参与运算:-3-5=-8;自身减1得出:-4,赋值给 num, num=-4   console的结果是:-8

</script>

<script>

    var num2 = 1

    // 如果--在后面,则先参与运算,自身再减1
    console.log(num2-- - 2)// 先参与运算:1-2=-1;自身减1得出:0; 赋值给 num, num=0   console的结果是:-1
    console.log(num2-- - 3)// 先参与运算:0-3=-3;自身减1得出:-1; 赋值给 num, num=-1   console的结果是:-3
    console.log(num2-- - 4)// 先参与运算:-1-4=-5;自身减1得出:-2; 赋值给 num, num=-2   console的结果是:-5
    console.log(num2-- - 5)// 先参与运算:-2-5=-7;自身减1得出:-3; 赋值给 num, num=-3   console的结果是:-7
    console.log(num2-- - 6)// 先参与运算:-3-6=-9;自身减1得出:-4; 赋值给 num, num=-4   console的结果是:-9

</script>

 

 

 如果有什么问题,请在评论区或者私聊告诉我,方便我修改!

 

posted @ 2021-04-14 12:33  正在追逐的萌新  阅读(620)  评论(0编辑  收藏  举报