JavaScript自增和自减/运算符

自增和自减

基本功能
一元运算符

++: 将某个变量的值自增1

--: 将某个变量的值自减1

细节
自增自减表达式

x++: 将变量x自增1、得到的表达式的值是自增之前的值。

++x: 将变量x自增1、得到的表达式的值是自增之后的值。

x--: 将变量x自减1、得到的表达式 的值是自减之前的值。

--x: 将变量x自减1、得到的表达式 的值是自减之后的值。

优先级
从高到底依次是:


 1. ++ --
 2. * / %
 3. + -

优先级的运算细节

  1. 从左到右依次看
  2. 如果遇到操作数、将数据的值直接取出
  3. 如果遇到相邻的两个运算符、并且左边的运算符优先级大于等于右边的运算符、则直接运行左边的运算符。
    自增自减优先级练习
<script>
     var x = 1;
     var y = x + x++ * ++x;
     console.log(y);  // 4
    /*
       解法-->从左往右
        1) x=1;
        1) y=1 + x++ * ++x;

        2) x = 2;
        2) y = 1 + 1 * ++x;

        3) x = 3
        3) y = 1 + 1 * 3;
             = 1 + 3 = 4
    */
 </script>
 <script>
     var x = 1;
     var y = x + x * x / 2 + 6;
     console.log(y);  // 7.5
    /*
       解法-->从左往右
        1) x=1;
        1) y=1 + x * x / 2 + 6;

        2) x = 1;
        2) y = 1 + 1 * x / 2 + 6;

        3) x = 1
        3) y = 1 + 1 * 1 / 2 + 6;
             = 1 + 1 / 2 + 6
             = 1 + 0.5 + 6
             = 1.5 + 6 
             = 7.5
    */
 </script>
 <script>
     var x = 1;
     var y = x++ + ++x + x++ * ++x + ++x;
     console.log(y);  // 25
    /*
       解法-->从左往右
        1) x=1--2--3--4--5;
        1) y= x++ + ++x + x++ * ++x + ++x;
            = 1 + ++x + x++ * ++x + ++x;
            = 1 + 3 + x++ * ++x + ++x;
            = 4 + x++ * ++x + ++x;
            = 4 + 3 * ++x + ++x;
            = 4 + 3 * 5 + ++x;
            = 4 + 15 + ++x;
            = 19 + ++x;
            = 19 + 6
            = 25
    */
 </script>
 <script>
     var x = 1;
     var y = x + x++ * (x = x + x++ * ++X) + x ;
     console.log(y);  // 21
    /*
       解法-->从左往右
        1) x=1--2--3--4--10;
        1) y= x + x++ * (x = x + x++ * ++X) + x ;
            = 1 + x++ * (x = x + x++ * ++X) + x ;
            = 1 + 1 * (x = x + x++ * ++X) + x ;
            = 1 + 1 * (x = 2 + 2 * 4) + x ;
            = 1 + 1 * (x = 2 + 8) + x ;
            = 1 + 1 * (x = 10) + x ;
            = 1 + 1 * 10 + x;
            = 1 + 10 + x;
            = 11 + 10 ;
            =21 
    */
 </script>
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

LoongYL

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值