++a 和 a++还是没搞懂什么情况

来源:5-2 选择题

郑浩男

2019-09-21 17:47:07

a = 10

b = 20

x = ++a+b    //这样x= 31

x=  a+++b   //这样x=30 

那a++等于是没有任何作用咯?

写回答

2回答

_麦当

2019-09-23

第一种情况,先返回后递增

var a = 1;

var b = a++;  // 会导致此时 b为1,a为2

第二种情况,先递增后返回

var a = 1;

var b = ++a;  // 会导致此时 a为2,b为2

无论是第一种还是第二种情况都会使变量a递增加1,递增就体现在这里了。

只是对变量b赋值时,a++会先将a原值赋值给b后再自己递增加1,所以b为1、a为2;而++a会先将a自己递增加一后再赋值给b,所以a为2,、b为2。

递减a--、--a原理一样。


1

_麦当

2019-09-23

并不是没有作用的,只要是递增,不管是a++还是++a,a本身已经增加了1,但是a++是先返回x后再给自身递增,而++a是先递增后再返回x的值。

0

0 学习 · 40143 问题

查看课程