a++ + a++ + ++a = 34不懂啊求大神帮组?
js里面的a = 10 a++ + a++ + ++a最后结果是34怎么来的?详细点,跪了 |
免责声明:本内容仅代表回答会员见解不代表天盟观点,请谨慎对待。
版权声明:作者保留权利,不代表天盟立场。
|
|
|
|
我想题主看不懂的原因是上面的计算过程不利于阅读,我尝试回答一下:
a++ + a++ + ++a 等价于 (a++) + (a++) + (++a)
类似这种表达式,建议写成后面这种形式
测试下面的代码,便于理解:
vara=10;varb=a++;varc=a++;vard=++a;alert(b+""+c+""+d) |
|
|
|
|
a=10;//初始值
我们一步一步 a++ + a++ + ++a ===> (a++)+(a++)+(++a)
第一a++ a还是等于10 然后执行+1处理
第二a++ a由第一个a++的+1处理已经是等于11了 ,然后执行+1处理
第三++a a目前是12,先进行+1处理 所以a等于13
因此 10+11+13 = 34
注意使用 ++在前就是先执行后使用 ++在后就是先用再执行...因此a++是用原始值得 ++a使用处理之后的值 |
|
|
|
|