Javascript算符的優先順序介紹

來源:互聯網
上載者:User

JavaScript中的運算子優先順序是一套規則。該規則在計算運算式時控制運算子執行的順序。具有較高優先順序的運算子先於較低優先順序的運算子執行。例如,乘法的執行先於加法。

下表按從最高到最低的優先順序列出JavaScript運算子。具有相同優先順序的運算子按從左至右的順序求值。

運算子 描述
. [] () 欄位訪問、數組下標、函數調用以及運算式分組
++ -- - ~ ! delete new typeof void 一元運算子、返回資料類型、對象建立、未定義值
* / % 乘法、除法、模數
+ - + 加法、減法、字串串連
<< >> >>> 移位
< <= > >= instanceof 小於、小於等於、大於、大於等於、instanceof
== != === !== 等於、不等於、嚴格相等、非嚴格相等
& 按位與
^ 按位異或
| 按位或
&& 邏輯與
|| 邏輯或
?: 條件
= oP= 賦值、運算賦值
, 多重求值

圓括弧可用來改變運算子優先順序所決定的求值順序。這意味著圓括弧中的運算式應在其用於運算式的其餘部分之前全部被求值。

複製代碼 代碼如下: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

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.