彻底搞懂 i++ 和 ++i 的区别

相信对于初学者来说 i++ i++,一直特别容易混淆的内容,在我们刚刚接触的时候老师讲的时候也是一笔带过,所有说可能有很多人到现在都还是比较迷糊的状态。

今天我就用的我的理解来讲讲他们的区别。

首先我们先来看一段代码

    <script>
        var i = 1;
        var j = 1;
        i ++;
        j ++;
        var  result = i == j ? true: false;
        console.log(result);
    </script>

通过赏面的代码可以看出 i++和 ++i在单独使用的时候产生的效果是一样的。

所以说i++ 和 ++i 在单独使用的时候 就都可以看做是   i = i + 1;

那么它们的区别又在哪呢?我们再来看一段代码。

    <script>
        var i = 1,
        j = 1;
        var a = 1,
            b = 1;
        a = a + ++i;
        b = b + j++;
        console.log("i:" + i);
        console.log("j:" + j);
        console.log("a:" + a);
        console.log("b:" + b);
    </script>

 j和i最后值都为2所以说 j 和 i 都自增了,那么我们可以通过a和b的值推断 i++ 和 ++i 只是在参与运算的时间上不同。 

a = a + ++i;
 

的运算顺序是   i先自增再参与 运算中

a = a + i++

的运算是先参与运算,i 再自增 

拓展分析:

    <script>
        var i = 1;
        var a = (i++)+(i++)+(++i);
        console.log(a);
    </script>

让我们来分析一下为什么最后的结果;

 只有第三个是加号在前,所以我们就应该先对第三个里面的i进行加加的操作此时i的值已经是2了,在观察1和2都是加加在后面,我就只接从左往右计算了,1号再进行加加操作 i的值来到了3, 2号再进行加加操作 i 的值来到了4,所以说最后的结果为7。

大家可以把小括号去掉看看结果是多少是不是和自己分析的一样。

 

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

就叫我小陈吧

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

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

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

打赏作者

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

抵扣说明:

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

余额充值