一只成序源 2019-09-23 18:00 采纳率: 66.7%
浏览 267

请问a+++a;a的值是怎么变化的,越详细越好。谢谢各位大佬!

var a=1;
var b=a+++a;

b的值为3,a为2;

详细解释下第一个a和第二个a的值变化;谢谢啦~

  • 写回答

3条回答 默认 最新

  • little_how 2019-09-23 19:19
    关注

    e1:如果你的是 b = a++ + a的话,执行步骤如下:
    1.执行将a的值(此时值为1)取出压入栈中,然后执行a++,此时a=2,并压入栈中;
    2.将栈中的1和栈中的2取出相加得出b=3

    e2:如果你得是b = a + ++a的话,执行步骤如下:
    1.将a=1压入栈中
    2.执行++a得到a = 2并压入栈中
    3.取出栈中的1和2相加得出b=3

    所以两种情况下的都是a=2,b=3

    希望对你有帮助...

    评论

报告相同问题?