++a 和 a++de 区别?

来源:2-13 编程练习

别比比

2019-01-27 15:13

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

写回答 关注

2回答

  • 几盎丶
    2020-05-29 14:59:19

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

    理想是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++的区别,关系到更深层次,变量的进栈出栈赋值,这里我也不是很懂,如果是新手的话先不要太过深究,我是新手,若有错误,欢迎大佬指教


  • _Z6_
    2019-01-27 16:00:15

    ++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

    精慕门911...

    牛逼啊

    2019-07-26 12:06:48

    共 3 条回复 >

JavaScript进阶篇

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

468194 学习 · 21891 问题

查看课程

相似问题