邏輯與 &&
邏輯與的情況分兩種
一、兩個數都是布爾值,只要有一個是false,那麼值就爲false。
二、其中有一個不是布爾值,那麼返回的就不是布爾值了,它遵循以下規則:
1. 有一個操作值是null
NaN
undefined
,則返回同類型的值。如果兩個操作值都是這種類型,就返回第一個。
2. 如果第一個值轉換成布爾值後爲true,則返回第二個值。
3. 如果第一個值轉換成布爾值後爲false,則返回第一個值。
邏輯或 ||
邏輯或的情況也分兩種
一、兩個數都是布爾值,只要有一個是ture,那麼值就爲true。
二、其中有一個不是布爾值,那麼返回的就不是布爾值了,它遵循以下規則:
1. 有兩個操作值同樣的,是null
NaN
undefined
,則返回null
NaN
undefined
。如果兩個操作值都是這種類型,但是不同,就返回第二個。
2. 如果第一個值轉換成布爾值後爲false,則返回第二個值。
3. 如果第一個值轉換成布爾值後爲true,則返回第一個值。
總結,邏輯與&& 和邏輯或||的區別在JavaScript高級程序設計第三版中3.5.3有詳細的說明,在這裏我只是按照自己的理解去總結了一下,如果有什麼不對的地方希望大家能指出來,感謝!