为什么console.logo(num1)的值会是11

为什么console.logo(num1)的值会是11

http://img1.sycdn.imooc.com//climg/5a69a380000186eb04090208.jpg

num1上面有赋值,而11不应该是在num3计算时的值吗?为什么console.logo(num1)的值会是11呢?

正在回答 回答被采纳积分+1

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

6回答
丿Fighting丶 2018-06-05 20:57:53

就近原则,在赋值以后,第三行代码中的++num1已经改变了10,变成11

傲骨115 2018-05-30 15:53:58

因为赋值了呀。

渡____ 2018-05-23 18:27:13

因为已经进行了自增了hhhhhhh

ErinaHuang 2018-03-30 15:58:02

执行console.log()函数时,前面三句已经执行完,控制台只是吧值打出来而已。这样我们来看num1=++num1也就是11;num2=5;而我们的num3=11+5=16了。若num3=num++ +num2,此时的值为15。因为num1还未执行++的操作。


卡布琦诺 2018-03-18 09:54:41


http://img1.sycdn.imooc.com//climg/5aadc6930001f02104850129.jpg

i++返回的是自增之前的值,++i返回的则是自增后的值,举个例子:

var i = 1;
var a = i++;  //a = 1;  此时i为2,但赋给a的是1
var b = ++i;  //b = 3

希望可以帮到你~

怎么都被占用了呢 2018-01-25 17:46:20

num1原本的值是10,经历过++后,值加1,不就是11吗。不管在哪写,只要执行过++,都会改变它原有的值的

  • 那1++就是原值改变了但是在别的值上加减他也只加减初始值?
    2018-03-18 00:39:10
  • 其实就是个顺序问题而已啦,首先++代表着一个变量的自增,就是自己加1,所以++的对象不能是常数,常数已经变不了了,而a++代表着先用a的数值,再进行a的自增,++a就代表先自增再用a的值,而且你看,都说是自增,自己增加,就是a自己增加啦
    2018-03-25 13:31:48
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

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