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

++a 和 a++de 区别?

https://img1.sycdn.imooc.com//5c4d59160001380907930426.jpg 实在是不理解 执行表达式之前+1 or -1  什么是表达式。 还有我想的答案 abc =3 4 3  ab=3 4  完完全全 和提交的答案不一样。求大神具体帮我说一下,怎么个运算法。谢谢~

正在回答

2 回答

我只能解释一部分,抱歉,作为探讨吧,第一个值,

理想是3,实际输出了4,是因为,++操作符自动赋值

举例说 a++ 同等于 a=a+1 等于 a+=1,

所以你在b = a++的时候就相当于 b= (a =a+1)或 b= (a +=1)括号是因为++的优先级

然后c 也就不用说了 因为现在的 a = 4,然后下一步

var a = 3相当于给 a 重新赋值,但第二局b = ++ a 又一次改变了 a 的值,

所以输出了 a : 4   b: 4

至于++a,a++的区别,关系到更深层次,变量的进栈出栈赋值,这里我也不是很懂,如果是新手的话先不要太过深究,我是新手,若有错误,欢迎大佬指教


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

++a  eg: a=1 ,b=++a 那么 b=2;//先加为敬,相当于b = a; a = a + 1;

a++ eg: a=1 ,b=a++ 那么 b=1;//运行过一次才加,相当于a = a + 1; b = a;

这个自增/自减在循环里比较体现出

在js基础里讲述过变量可重复赋值

上述 var a=3; var b=a++; var c=a;

  1. 一开始a=3,b=a++的时候b=3,原因是a++运行过一次才加

  2. b=a++这条运行后那么a=4了

  3. 在c=a时那么c=4;

  4. 所以输出 4 3 4

 var a=3; var b=++a;

  1. a又重新等于3了,b=++a,那么b=4,++a是先加,那么a也就执行过了等于4

  2. 所以输出 4 4

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

别比比 提问者

谢谢~
2019-01-28 回复 有任何疑惑可以回复我~
#2

qq_ChanZheng_0

谢谢THANKS
2019-07-22 回复 有任何疑惑可以回复我~
#3

精慕门9116487

牛逼啊
2019-07-26 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
JavaScript进阶篇
  • 参与学习       468189    人
  • 解答问题       21891    个

本课程从如何插入JS代码开始,带您进入网页动态交互世界

进入课程

++a 和 a++de 区别?

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