• 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>

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

  • 相关阅读:
    数据变换
    离群点的检验
    数据清洗
    数据采样
    FM与FFM
    EM算法与高斯混合模型
    最大熵模型
    PageRank
    软件技术基础
    原来炫酷的可视化地图,用Python就能搞定!
  • 原文地址:https://www.cnblogs.com/haohaogan/p/14657126.html
Copyright © 2020-2023  润新知