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