JavaScript ++i和i++的区别

++i和i++区别在于运算顺序和结合方向。
js中有两种自加运算,其运算符均为++,功能为将运算符自加1.
其中:
++i被称为前自加,其后面的变量执行自加操作,其运算为,先执行自加操作,再引用i值。
i++被称为后自加,其前面的变量执行自加操作,其运算为,先引用i值,再进行自加操作。

如果自加语句独立成为一个单独的语句,不执行其他操作,那么前后自加是完全相同的。
比如单独的一行:
a++;和++a;是一样的。
再比如,常见的for循环:
for(i = 0; i < 100; i ++)
for(i = 0; i < 100; ++i)
这里用到的++i和i++是完全相同的,没有区别。

当运算变量本身值会在自加语句中,同时执行其它操作,二者就有区别了。
比如
var a;
var i = 10;
a = i ++; //这里i要先赋值,再自加。语句执行后a=10, i = 11;
而如果写成:
var a;
var i = 10;
a = ++i; //这里i要先自加,再赋值。语句执行后a=11, i = 11;

再举一个例子。
var i =0;
while(i++<10);
i会先和10比较大小,然后执行自加。这样当i=10时,退出循环,再执行一次自加,退出后i值为11。
而如果写成
while(++i<10);
是先执行自加,然后再与10比较。这样在i=9时,先自加,得到i=10,然后比较就会退出循环了。这种情况下,退出后i值为10。

结论

为了避免代码中的混淆和错误,了解这两个运算符之间的区别很重要。总之,后缀运算符将首先在表达式中使用变量然后递增它,而前缀运算符将首先递增变量然后在表达式中使用它。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值