请问这个式子等于多少

请问这个式子等于多少

var num = 3;

        var b = num-- + ++num;

        console.log(b);


b等于多少,可以说一下计算原理吗

正在回答

登陆购买课程后可参与讨论,去登陆

3回答

打印出的结果是:6;

1、首先先明白一个原则,++在前先赋值再运算,++再后先运算再赋值

2、num--,--在后,那么我们先运算再赋值,它本身其实已经减去了1,但是它没告诉我们,它先藏起来了,假装自己还是3(其实它已经是2了)

3、后面++num,++在前,那么就先把+1的值赋给它,然后再运算,num前面因为已经-1了是2,所以++num就等于3,3+3呢就是6.

http://img1.sycdn.imooc.com/climg//591c511e0001e1c704230206.jpg

可以看看这个代码体会一下。

祝学习愉快!

  • Sweechirly 提问者 #1
    老师说的很好,可以再说一下具体的运行机制吗?比如,临时变量,内存等等。因为这个计算方式和C++不同。
    2017-05-18 08:45:12
  • Sweechirly 提问者 #2
    多谢老师解答
    2017-05-18 19:00:17
小丸子爱吃菜 2017-05-18 18:56:26

++和--的运算机制在JS和C++中的机制是一样的,最终结果应该也是6,如果不是6,那就是你的运算步骤哪块出了问题。

http://img1.sycdn.imooc.com/climg//591d7d740001b1ad05550485.jpg

小丸子爱吃菜 2017-05-18 10:22:34

JS中的++和--跟C++的运算机制是一样的。

本专题的第四个步骤JS进阶中,会有关于变量、作用域、以及内存的相关讲解,到时可以好好听下哦。

祝学习愉快!

  • 提问者 Sweechirly #1
    不对吧,按照C++里面b不是应该等于8吗?
    2017-05-18 16:54:37
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
微信客服

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

帮助反馈 APP下载

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

公众号

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

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师