为了账号安全,请及时绑定邮箱和手机立即绑定

js中a++和++a同时出现在运算中哪个先运算?

js中a++和++a同时出现在运算中哪个先运算?

慕妹3146593 2018-11-06 13:13:27
如题:var a = 1;var b = a++ + ++a;一开始以为b的运算过程是 b = 1 + 3;今天听说++a的优先级要高,所以实际的运算过程是后面的++a先计算,所以实际的过程是 b = 2 + 2;求证一下
查看完整描述

1 回答

?
至尊宝的传说

TA贡献1789条经验 获得超10个赞

先看文档:运算符优先级

很明显,后置递增比前置递增的优先级高。 
就是说,先运算a++然后才是++a

那么为什么这个运算式最后却是2 + 2? 
因为这俩运算都比+运算优先级高。 
然后,虽然a++先运算,但是a自增要等到整个算式运算结束,而++a则是马上就自增。
a++++a运算之后,+运算之前,a的值就是2。 
最后整个算式运算结束,a才会自增到3。你可以打印出来看看。


查看完整回答
反对 回复 2018-12-14
  • 1 回答
  • 0 关注
  • 1227 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号