收藏
回答

这个表达式,结果是22,是怎么算出来的呢?

这个表达式结果是22,是为什呢?

let a=0;
let b=2;
a=b++ + 5 * ++b;
console.log(a)   //22
回答关注问题邀请回答
收藏

2 个回答

  • 同步
    同步
    2020-09-27

    你这是面试遇到的吧,特么正常情况下谁乐意这样写?

    ++ i 是先加后赋值;i ++ 是先赋值后加;

    let a=0;
    let b=2;
    a=b++ + 5 * ++b;
    


    (b++) + (5 *(++b))

    (b++) // 解释: i ++ 是先赋值后加; // 2

    (++b) // 解释: ++ i 是先加后赋值;i ++ 是先赋值后加; // 4


    2 + 5 * 4 => 22

    2020-09-27
    有用 1
    回复
  • 子不语
    子不语
    2020-09-27

    b++是计算后加,++b是计算前加

    b++ +5 * ++b

    第一个b++放在计算后,为3,但是计算中还是2

    第二个++b在计算前,但是前面已经有一个b++为3了,所以就是4

    于是就是 2+(5*4)

    请学会如何「提问」(👈戳我)
    【个体工商户】微信认证问题(👈戳我)

    2020-09-27
    有用
    回复
登录 后发表内容
问题标签