邏輯符的運算優先順序

2021-09-16 20:15:32 字數 2846 閱讀 4759

優先順序    運算型別    關聯性    運算子

19 圓括號 n/a ( … )

18 成員訪問 從左到右 … . …

需計算的成員訪問 從左到右 … [ … ]

new (帶引數列表) n/a new … ( … )

17 函式呼叫 從左到右 … ( … )

new (無引數列表) 從右到左 new …

15 邏輯非 從右到左 ! …

一元加法 從右到左 + …

一元減法 從右到左 - …

前置遞增 從右到左 ++ …

前置遞減 從右到左 -- …

typeof 從右到左 typeof …

void 從右到左 void …

delete 從右到左 delete …

14 乘法 從左到右 … * …

除法 從左到右 … / …

取模 從左到右 … % …

13 加法 從左到右 … + …

減法 從左到右 … - …

12 按位左移 從左到右 … << …

11 小於 從左到右 … < …

小於等於 從左到右 … <= …

大於 從左到右 … > …

大於等於 從左到右 … >= …

in 從左到右 … in …

instanceof 從左到右 … instanceof …

10 等號 從左到右 … == …

非等號 從左到右 … != …

全等號 從左到右 … === …

非全等號 從左到右 … !== …

9 按位與 從左到右 … & …

8 按位異或 從左到右 … ^ …

7 按位或 從左到右 … | …

6 邏輯與 從左到右 … && …

5 邏輯或 從左到右 … || …

4 條件運算子 從右到左 … ? … : …

3 賦值 從右到左 … = …

… += …

… -= …

… *= …

… /= …

… %= …

… &= …

… ^= …

… |= …

總結:

1、賦值操作排在所有的比較最後,(num == 1)裡的內用最優先運算。

2、成員訪問的優先順序在,()運算之後,在其他的運算之前。

3、函式的執行,在其他比較和運算子之前之前。

4、判斷的優先順序也在賦值 = 號的最前邊。

5、邏輯與 和 邏輯或 要在左右兩邊的運算完成以後,在進行 邏輯與 和 邏輯或 比較。

var  obj = 1==1;

// console.log(obj);

var obj2 = 1>2;

var obj3 = 3*2;

var obj4 = !1 == 0; // 先運算 !1(1的取反),然後再和 == 0 ,進行比較,把比較的結果值賦給obj4

// 特殊例子

var i = 0;

var obj5 = ++i; // 前置型遞增,就是將i的值i本身再進行相加,然後再賦值給obj5

var obj6 = i++;// 後置型遞增,就是將i的值先賦值給obj5,然後i本身再進行相加

console.log(obj6);

// 函式運算的優先順序

var objone =

})()

};// 函式運算執行的優先順序,在賦值之前,先進行自執行函式運算,然後再把自執行函式運算的返回值,賦值給obj.method屬性。

var fn = objone.method();

console.log(fn);

// 這裡也是,objone.method();函式的運算優先,先將函式進行運算,然後再把返回值給fn,fn現在的值就是字串『fn是乙個字串』

// 邏輯與 和 邏輯或

// 邏輯與 比 邏輯或的優先順序高。

console.log(1 && 2 || 0);

// 先進行 1&&2 運算,然後拿 1&&2的運算結果 2和0進行邏輯或運算 ,也就是(2 || 0)。

console.log(1 && true || 0);// true

console.log(1 && 0 || 3 && 1 && true);

// 邏輯與,兩個條件都成立,返回結果才是true

var num1 = 2;

var num2 = true;

if (num1 && num2)

var num3 = false;

if (num1 && num3)

// true && false,第乙個ture成立則返回第二個,如果,第乙個不成立 false&&false,則直接返回第乙個

console.log(false && true);

// 邏輯或 兩個或者多個條件其中乙個成立,則返回成立true

if( 1==1 || 2==0)

// 如果兩個都不成立,則就返回false

if( 1==3 || 2== 3)

運算子邏輯與 邏輯或 的優先順序

運算子邏輯 和 邏輯 的優先順序 運算子 邏輯 的優先順序高於 邏輯 邏輯運算的順序為從左向右 在邏輯 時 找到false的分項,便停止處理,並返回該分享的值。否則便全部執行完,並且返回最後乙個分項值。邏輯 例子 var a 1 2 3 結果為3 var b 0 1 2 結果為0 var c 1 0...

運算子優先順序 C 運算子優先順序

c 運算子優先順序 優先順序運算子 描述方向1 scope resolution 範圍解析 left to right 2 suffix postfix increment and decrement 字首 字尾遞增和遞減 function call 函式呼叫 array subscripting ...

運算子優先順序 Python 運算子優先順序

python 運算子優先順序 運算子描述 lambda lambda表示式 or布林 或 and布林 與 not x 布林 非 in,not in 成員測試 is,is not 同一性測試 比較 按位或 按位異或 按位與 移位 加法與減法 乘法 除法與取餘 x,x 正負號 x 按位翻轉 指數 x.a...