zoukankan      html  css  js  c++  java
  • 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>

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

  • 相关阅读:
    C. Shaass and Lights 解析(思維、組合)
    D. Binary String To Subsequences(队列)(贪心)
    CodeForces 1384B2. Koa and the Beach (Hard Version)(贪心)
    CodeForces 1384B1. Koa and the Beach (Easy Version)(搜索)
    CodeForces 1384C. String Transformation 1(贪心)(并查集)
    CodeForces 1384A. Common Prefixes
    POJ-2516 Minimum Cost(最小费用最大流)
    POJ3261-Milk Patterns(后缀数组)
    HDU-1300 Pearls(斜率DP)
    HDU-4528 小明系列故事-捉迷藏(BFS)
  • 原文地址:https://www.cnblogs.com/haohaogan/p/14657126.html
Copyright © 2011-2022 走看看