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

运算符++,如下连续想加

运算符++,如下连续想加

慢慢吞猫 2017-05-31 23:10:34
var n=5; console.log(n++  +  ++n  +  n++  +  ++n); 我算出来是6+6+7+7 但是运行结果是28
查看完整描述

3 回答

已采纳
?
千秋此意

TA贡献158条经验 获得超187个赞

n++ 为后自增运算:先返回值,再自增
++n 为前自增运算:先自增,再返回值
同时自增运算的优先级要高于普通的四则运算

也就是说,你表达式的四个自增运算会先计算出结果,再执行普通的四则运算(加法)

最后得出的也就是 5 + 7 + 7 + 9 = 28

//img1.sycdn.imooc.com//592ee8ff00014f6e04590073.jpg

其实直接打印一下就能很直观地看出n++和++n的区别了, 可以看到n = 5, n++的值为5,之后再打印n就成了6,而打印++n时直接就输出了7,之后打印n也是7~

查看完整回答
3 反对 回复 2017-05-31
?
MihaiWong

TA贡献4条经验 获得超3个赞

5+7+7+9
n=5  n++ 先使用n 所以打印n++ n=5  调用完成n=6
n=6    ++n  先完成自增即n=n+1=7   打印n=7
以此类推

查看完整回答
1 反对 回复 2017-06-01
?
田心枫

TA贡献1064条经验 获得超383个赞

应该是5+7+7+9=28吧


查看完整回答
反对 回复 2017-05-31
  • 3 回答
  • 2 关注
  • 1593 浏览
慕课专栏
更多

添加回答

举报

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