js各運算符的執行順序


本文原鏈接:https://www.sojson.com/operation/javascript.html

https://www.jianshu.com/p/d569c6ca1060

JavaScript運算符優先級

JavaScript 運算符優先級,是描述在計算機運算計算表達式時執行運算的先后順序。 先執行具有較高優先級的運算,然后執行較低優先級的運算。 例如,我們常說的先執行相乘和除,再執行加減運算。

JavaScript 運算符

優先級 運算符 說明 結合性
1 [].() 字段訪問、數組索引、函數調用和表達式分組 從左向右
2 ++ -- -~!delete new typeof void 一元運算符、返回數據類型、對象創建、未定
義的值
從右向左
3 *、/、% 相乘、相除、求余數 從左向右
4 +、- 相加、相減、字符串串聯 從左向右
5 <<、>>、>>> 左位移、右位移、無符號右移 從左向右
6 <、<=、>、>=、instanceof 小於、小於或等於、大於、大於或等於、是否
為特定類的實例
從左向右
7 ==、!=、===、!== 相等、不相等、全等,不全等 從左向右
8 & 按位“與” 從左向右
9 ^ 按位“異或” 從左向右
10 | 按位“或” 從左向右
11 && 短路與(邏輯“與”) 從左向右
12 || 短路或(邏輯“或”) 從左向右
13 ?: 條件運算符 從右向左
14 =、+=、-=、*=、/=、%=、&=、|=、^=、<、<=、>、>=、>>= 混合賦值運算符 從右向左
15 , 多個計算 按優先級計算,然后從右向左

圓括號處理Javascript運算說明

圓括號用於改變由運算符優先級確定的計算順序。 這就是說,先計算完圓括號內的表達式,然后再將它的值用於表達式的其余部分。

var result = 10 * 5 + 3;
document.write(result);
document.write("<br/>");

result = 10 * (5 + 3);
document.write(result);
// 輸出如下:
// 53
// 80

在第一個表達式中,按照優先級運算,先運算的是 10 * 5,然后再加3,結果為50

在第二個表達式中,我們用圓括號開改變優先級,先讓(5 + 3),結果為8,然后用8去乘以10,結果是80

/:除法,如:int a = 8/9;

%:取余運算: int a = 10%2;


Javascript邏輯運算符

Javascript中主要區分 == 和 === ,同理 != 和 !== 的關系

var a = '100';
var b = 100;
document.write(a==b);
document.write(a===b);

document.write(a!=b);
document.write(a!==b);
// 輸出如下:
// true
// false
// false
// true

因為 Javascript 是弱類型語言,在數據類型上處理不是那么嚴格,也就造成了 '100'==100;返回true ,需要嚴格一點去比較'100'===100這個時候不僅比較值,還比較類型,所以返回false

同理 != 和 !==  也是一樣,前者比較的是值,后者是類型和值都要比較。


Javascript 運算符總結

其實在運算過程中,和其他語言一樣,最好直接帶上括號,如var a = 1; a = (a + 100) >>(a+1); 和 var a = 1; a = a + 100>>a+1;結果都是25,運算順序也一樣,前面的可讀性更好吧?


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM