邏輯運算子

2021-09-29 19:30:46 字數 1282 閱讀 4956

/* ! 非 在單目運算中 !優先

如果乙個運算元是乙個物件,返回false;

如果乙個運算元是乙個空字串,返回false;

如果乙個運算元是乙個非空字串,返回false;

如果乙個運算元是乙個數值0,返回true;

如果乙個運算元是任意的非零字元,返回false; 不是0的數

如果乙個運算元是null,返回true;

如果乙個運算元是nan,返回true;

如果乙個運算元是undefined,返回true;

ps: 其實這樣很容易就看出來其邏輯判斷的值了*/

var ox = !(1>2);

/*&& 邏輯與(&&)

(1)對於布林值,邏輯與是非常簡單的,只要有乙個false,就返回false這個運算元;

(2)對於不是布林值的情況則:

如果第乙個運算元是物件,則返回第二個數

如果第二個運算元是物件,則只有在第乙個運算元的求值結果為true的情況下才會返回該物件;

如果第兩個運算元都是物件,則返回第二個數運算元

var ox ={}&& 返回lin

如果有乙個運算元是null,則返回null

如果有乙個運算元是nan,則返回第nan

如果第乙個運算元是undefined,則返回undefined

如果第乙個操作符是flase 返回flase

ps:其實仔細想一下,邏輯運算子操作物件遵循從左到右的順序來判斷,邏輯與操作符(&&)先判斷第乙個數,如果第乙個數的邏輯判斷是true,則還需判斷第二個數,結果輸出第二個運算元;同理,如果第乙個數為false,則不用考慮第二個數了,直接輸出第乙個數的邏輯判斷結果,這和其他語言原理都是一樣的。

邏輯或(||)

(1)對於布林值,邏輯或是非常簡單的,只要有乙個true,就返回true;

(2)對於不是布林值的情況則:

如果第乙個運算元是物件,則返第乙個運算元

如果第乙個運算元的求值結果為false,則返回第二個運算元

如果兩個運算元都是物件,則返回第乙個運算元

如果兩個運算元是null,則返回null 其他的情況返回其他情況

如果兩個運算元是nan,則返回nan

如果兩個運算元是undefined,則返回undefined

ps: 原理同邏輯與(&&),邏輯或(||)的判斷是如果第乙個運算元的邏輯判斷為true,則直接輸出第乙個運算元,不用再考慮第二個運算元;如果第乙個運算元的邏輯判斷為false,則還得去判斷第二個運算元的邏輯。*/

邏輯運算子( , )

操作!是的 運算子不執行布林操作,有只有乙個運算元,位於其權利,和唯一,它確實是逆是它的價值,生產假如果真實,真實的,如果其運算元其運算元為false。基本上,它返回布林值,評價其運算元相反。例如 1 2 3 4 5 5 evaluates to false because the expressi...

邏輯運算子

邏輯運算子 符號 作用 符號 作用 或and 與 或 not 非 或or 或 xor 異或 與 運算 1 或者 and 是 與 運算的兩種表達方式。如果所有資料不為0且不為空值 null 則結果返回1 如果存在任何乙個資料為0,則結果返回0 如果存在乙個資料null且沒有資料為0,結果返回null。...

邏輯運算子

邏輯與 當兩個運算元的值都為true時,運算結果為true 邏輯或 只要兩個運算元中有乙個值為true時,運算結果就為true 邏輯非 對運算元取反,即true值非運算的結果false,false值非運算的結果為true 案例 test1 var a 1,b 0,c hello a b c worl...