慕仙6733315
2016-02-17 11:19
a和b的值是怎样计算出来的
题目上a赋值是5,所以++a=6,以为++a是先自身加1再执行代码,所以得出结果a=6,赋值已变
a++和++a的区别上面也有说的,就是在于前者先执行代码再自我加一,后者先自我加一再执行代码
例如:
var a=1,b=5,c;
c=a++ +b;//因为是a++,所以先执行代码再加一,所以a=2,b=5,c=6;
c=++a +b;//因为是++a,所以先加一再执行代码。所以a=3,b=5,c=8;之所以a=3而不是=2是因为上面的计算已经把题目中a=1的赋值改变成a=2了,所以从这里的计算得出a=3;
a++表示先用a的值进行表达式运算,后再为a进行加一运算。而++a则相反,先对a进行加一运算,此时a的值已经不是原来的值了,而是加了一,然后再把a(此时的a是加了一的a)带入运算式中,进行运算。
a--和--a是相同的用法!
b也是同样的道理
但怎么会是6呢,上面不是给a赋值为5了啊
通过自增自减,a、b的值发生了变化,并且是自增、自减在前面,所以先自增、自减后运算。
JavaScript进阶篇
468060 学习 · 21891 问题
相似问题