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

自加和自减

自加和自减

zhangyudemuke 2016-03-15 14:45:18
X++的运算是在参与其他运算之前先将自己加上1,再用新的值参与其他的运算。++X的运算是先用原来的值运算后,再将自己加1.那么问题来了<script type="text/javascript"> var num1=120; document.write("120++的结果是:"+(num1++)); document.write("++120的结果是:"+(++num1));</script>这段代码的运算结果是:120++的结果是:120++120的结果是:122这是为什么呢,按照上面的理解,120++的结果应该是121,++120的结果应该是120啊,为什么不是呢?表示一直想不通,请大神指教。
查看完整描述

2 回答

已采纳
?
woshiajuana

TA贡献211条经验 获得超152个赞

你理解反了····

x++是先使用x的值然后在自增

++x是先自增然后再使用x的新值

所以结果很明显

初始值是120

document.write("120++的结果是:"+(num1++));执行这句,先使用x的值,输出120,然后自增1等于121

document.write("++120的结果是:"+(++num1));执行这句,先自增1,因为上一句使得x=121,所以自增就成了122


查看完整回答
反对 回复 2016-03-15
  • zhangyudemuke
    zhangyudemuke
    参考书上说的和你的不一样啊,书上原话是这样说的:++运算按照从右到左的运算顺序,即X++的运算是在参与其他运算之前先将自己加上1,再用新的值参与其他的运算。 ++X的运算是先用原来的值运算后,再将自己加1。
  • woshiajuana
    woshiajuana
    ++在后面先运算再自增 ++在前面先自增后运算 你这是什么参考书? 像这种问题百度一大把的,可以解释x++和++x的区别
  • 2 回答
  • 0 关注
  • 1475 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信