为了账号安全,请及时绑定邮箱和手机立即绑定

虽然有人问过,++a与a++有什么区别,但我还是不能理解

虽然有人问过,++a与a++有什么区别,但我还是不能理解

正在回答

4 回答

前置的++,是先++自增1,再进行表达式运算,(既a=5 ,a自增1,a=6,再赋值给b,b=6);

后++,是先把a=5赋值给c,即c=5,然后c在下一次调用的时候再自增1;

0 回复 有任何疑惑可以回复我~
#1

MMJiao 提问者

非常感谢!
2016-11-21 回复 有任何疑惑可以回复我~

其实你自己写两行代码 改一改  看看输出的值 就容易理解了

0 回复 有任何疑惑可以回复我~

共同点都是递增,区别是一个先加,一个先用。++在前就先加,a在前就先用a.例子

int a=0;b=a++;那么b=0;

int a=0;b=++a;那么b=1;

3 回复 有任何疑惑可以回复我~

前者是先加1再赋值,后者是先赋值再加1

0 回复 有任何疑惑可以回复我~
#1

MMJiao 提问者

var a=5; b=++a; c=a++;是怎么执行的?
2016-11-20 回复 有任何疑惑可以回复我~
#2

Hei_a 回复 MMJiao 提问者

从第二行开始 a先自加1 a为6,再赋值给b ,b为6;c=a++,先赋值给c c为6,a再自加1 a为7;懂啦吧
2016-11-22 回复 有任何疑惑可以回复我~
#3

M_先生

我自己做测试,写的 var a=6; b=a++; c=++a; document.write(b+"<br />"); document.write(c); 结果b=6 c=8 每次都是 b=a++; 结果都等于a c=++a; 结果都等于a+2
2016-12-06 回复 有任何疑惑可以回复我~
#4

M_先生 回复 M_先生

又仔细的研究,终于明白了, b=a++; 可以写成 b=a; a=a+1; 所以这里b是6 后面的c=++a; 其实这里的a已经变成了,a+1了,也就是7 所以再++a 也就是1+a+1 了等于8
2016-12-06 回复 有任何疑惑可以回复我~
查看1条回复

举报

0/150
提交
取消

虽然有人问过,++a与a++有什么区别,但我还是不能理解

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信