JS中a++与++a的计算区别

a++与++a都相当于把a+1赋值给a本身。但不同的是:
a++:先执行语句后赋值
++a:先赋值后执行语句,且比a++有计算优先级
给个例子:

var a = 10;
a++;  //return 10 a在该步骤没有赋值,下一步赋值
document.write(a); //return 11   该步骤赋值和输出
var a = 10;
++a; //return 11;  a在这一步骤就赋值
document.write(a); //return 11  输出

几个具体的计算案例:

var a = 10;
a++; //返回10 a在该步骤没有赋值,下一步赋值
++a; //返回12  a++赋值为11,再计算++a为12,输出
var x = 10;
++x; //return 11 a在这一步就赋值
x++; //return 11  a在该步骤没有赋值,所以输出还是11
var a = 1;
var b = a++ + 1; // a在该步骤没有赋值,下步骤赋值
document.write(a); //return 2  该步骤赋值和输出
document.write(b);// return 2  因为输出是在var b基础上的,而var b的那一步a没有赋值
var a = 1;
var b = a-- + --a;  //先计算--a,为0 再把0赋值为a-- 还是0(--a比a--有优先计算权)
document.write(b); //return 0
var a = 1;
var b = a++ -1 + ++a; //先计算++a为2,再赋值给a++还是为2
document.write(b); // return 3
var a = 1;
var b = --a + --a; //计算--a为0,再赋值为-1
document.write(b);  //return -1
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值