JavaScript中有三種邏輯運算符:非(!)、與(&&)、或(||)
了解三類邏輯運算符(給定 x=1, y=6)
一 :!非運算符
!可以用來對一個值進行非運算,對條件取反。
邏輯非只有一個操作數(!條件)
非真既假,非假即真
(一)、對布爾值進行!非運算
所謂非運算就是一個布爾值進行取反操作。
1、一次運算true變false,false變true
2、如果對一個值進行兩次取反,值不會變化。
對非布爾值進行取反操作,現將非布爾值變成布爾值。所以我們可以利用這個特點將其他類型的值轉換成布爾值。
可以對任意一個值進行兩次非運算(取反),即可將其轉換為Boolean類型;
原理和使用Boolean()函數一樣
(二)、對非布爾值進行!或運算
運算規則:如果兩個值都為true,則返回后面的值。
如果兩個值都是false,則返回前面的false。
二、&&與運算符
&&可以對符號兩側的值進行“與運算”,並返回結果。(條件1 && 條件2)
關聯兩個條件,兩個條件都為真的時候,那么整個表達式的結果才為真。
(一)、對布爾值進行與運算
運算規則:
1、只有符號兩邊同時為 true,結果就返回 true;
/2
2、只要有一個值是false,結果就返回false;
短路 &&與:
- 如果第一個值為false,則不會看第二個值 ,表達式的值就是false。
- 如果第一個true時,則繼續判斷第二個值,並且以第二個做為表達式的值。
1、第一個值為true,會檢查第二個值。
/4
2、第一個值是false,就不會檢查第二個值。
(二)、對非布爾值進行&&與運算
如果第一個值為true,則返回第二個值
如果第二個值為false,則直接返回第一個值(返回的是原值)。
三、|| 或運算符
|| 可以對符號兩邊的值進行或運算並返回結果。
關聯兩個條件,兩個條件中,只要有一個為真,那么整個表達式就為真。
(一)、對布爾值進行或運算
運算規則:
兩個都是false,就返回false
主要有一個true,就返回true
短路或||:
- 如果第一個值為true,則不會檢查第二個,整個表達式的值就是true。
- 如果第一個值為false,才會檢查第二個,並且以第二個值作為整個表達式的值。
(二)、對非布爾值進行 || 或運算
運算規則:如果第一個值是true,則直接返回第一個值;
如果第一個值是false,則直接返回第二個值;(無論第二個值是什么)