搜尋

首頁  >  問答  >  主體

javascript - js中a++和++a同時出現在運算中哪一個先運算?

如題:


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

一开始以为b的运算过程是 b = 1 + 3;
今天听说++a的优先级要高,所以实际的运算过程是后面的++a先计算,
所以实际的过程是 b = 2 + 2;

求证一下
大家讲道理大家讲道理2825 天前677

全部回覆(1)我來回復

  • 高洛峰

    高洛峰2017-05-18 11:00:47

    先看文件:運算子優先權

    很明顯,後置遞增比前置遞增的優先順序高。
    就是說,先運算a++然后才是++a

    那為什麼這個運算式最後卻是2 + 22 + 2
    因为这俩运算都比+运算优先级高。
    然后,虽然a++先运算,但是a自增要等到整个算式运算结束,而++a则是马上就自增。
    a++++a运算之后,+运算之前,a的值就是2
    最后整个算式运算结束,a才会自增到3因為這倆運算都比+運算優先權高。

    然後,雖然a++先運算,但是a自增要等到整個算式運算結束,而++a則是馬上就自增。 🎜a++++a運算之後,+運算之前,a的值就是2< /code>。 🎜最後整個算式運算結束,a才會自增到3。你可以列印出來看看。 🎜

    回覆
    0
  • 取消回覆