更新時(shí)間:2022-01-18 來源:黑馬程序員 瀏覽量:
JavaScript運(yùn)算符均有明確的優(yōu)先級與結(jié)合性。優(yōu)先級較高的運(yùn)算符將先于優(yōu)先級較低的運(yùn)算符進(jìn)行運(yùn)算。結(jié)合性是指具有同等優(yōu)先級的運(yùn)算符將按照怎樣的順序進(jìn)行運(yùn)算。結(jié)合性有向左結(jié)合和向右結(jié)合兩種。例如,表達(dá)式a+b+c,向左結(jié)合就是先計(jì)算a+b,即(a+b)+e;而向右結(jié)合就是先計(jì)算b+c,即a+(b+c)。JavaScript運(yùn)算符的優(yōu)先級與結(jié)合性如表下所示。
表 JavaScript運(yùn)算符的優(yōu)先級與結(jié)合性
上表中,在同一單元格的運(yùn)算符具有相同的優(yōu)先級,左結(jié)合方向表示同級運(yùn)算符的執(zhí)行順序?yàn)閺淖笙蛴?,右結(jié)合方向則表示執(zhí)行順序?yàn)閺挠蚁蜃蟆?br/>
值得一提的是,表達(dá)式中有一個(gè)優(yōu)先級最高的運(yùn)算符——圓括號(),它可以提高圓括號內(nèi)部運(yùn)算符的優(yōu)先級;且當(dāng)表達(dá)式中有多個(gè)圓括號時(shí),最內(nèi)層圓括號中的表達(dá)式優(yōu)先級最高。具體示例如下:
console.log(8+6*3); //輸出結(jié)果:26 console.log((8+6)*3); //輸出結(jié)果:42
上述實(shí)例中,表達(dá)式“8+6*3”按照運(yùn)算符優(yōu)先級的順序,先執(zhí)行乘法“*”,再執(zhí)行加法“+”,因此結(jié)果為26。而加了圓括號的表達(dá)式“(8+6)*3”的執(zhí)行順序是先執(zhí)行圓括號內(nèi)加法“+”運(yùn)算,再執(zhí)行乘法,因此輸出的結(jié)果為42。
由此可見,為復(fù)雜的表達(dá)式適當(dāng)?shù)奶砑訄A括號,可避免復(fù)雜的運(yùn)算符優(yōu)先級法則,讓代碼更為清楚,并且可以避免錯(cuò)誤的發(fā)生。
運(yùn)算符是什么?Java運(yùn)算符詳細(xì)介紹
JavaScript中l(wèi)et關(guān)鍵詞聲明變量的好處