JavaScript中的運算符優先級是一套規則。該規則在計算表達式時控制運算符執行的順序。具有較高優先級的運算符先於較低優先級的運算符執行。例如,乘法的執行先於加法。
下表按從最高到最低的優先級列出JavaScript運算符。具有相同優先級的運算符按從左至右的順序求值。
圓括號可用來改變運算符優先級所決定的求值順序。這意味著圓括號中的表達式應在其用於表達式的其余部分之前全部被求值。
復制代碼 代碼如下:
z = 78 * (96 + 3 + 45)
在該表達式中有五個運算符: =, *, (), +, 以及另一個 +。根據運算符優先級的規則,它們將按下面的順序求值: (), +, +, *, =。
首先對圓括號內的表達式求值。圓括號中有兩個加法運算符。因為兩個加法運算符具有相同的優先級,從左到右求值。先將 96 和 3 相加,然後將其和與 45 相加,得到的結果為 144。
然後是乘法運算。78 乘以 144,得到結果為 11232。
A最後是賦值運算。將 11232 賦給 z。
===操作符: 要是兩個值類型不同,返回false 要是兩個值都是number類型,並且數值相同,返回true 要是兩個值都是stirng,並且兩個值的String內容相同,返回true 要是兩個值都是true或者都是false,返回true 要是兩個值都是指向相同的Object,Arraya或者function,返回true 要是兩個值都是null或者都是undefined,返回true ==操作符: 如果兩個值具有相同類型,會進行===比較,返回===的比較值 如果兩個值不具有相同類型,也有可能返回true 如果一個值是null另一個值是undefined,返回true 如果一個值是string另個是number,會把string轉換成number再進行比較 如果一個值是true,會把它轉成1再比較,false會轉成0 如果一個值是Object,另一個是number或者string,會把Object利用 valueOf()或者toString()轉換成原始類型再進行比較
詳細出處參考:http://www.jb51.net/article/17542.htm