雙邏輯非操作,會把乙個值(數字,字串…..)轉換為布林值。第一次邏輯非操作取反的布林,第二次獲得最初元素本身對應的布林。
alert(!!false); //false
alert(!!"blue"); //true
alert(!!0); //false
alert(!!nan) //false
alert(!!12345) //true
雙邏輯非操作符提高了程式執行的效率,比先儲存後訪問的效果更好。
var res1 = (0 && undefined); //0
var res2 = !!(0 && undefined); //false
/*對於 res1 我們每次還需要隱式轉換成布林值,if(boolean(res1)),而 res2 已經是布林值,所以使用雙邏輯非操作符提高了程式執行的效率。
這裡說的先儲存後的訪問效果好,說的就是先儲存布林值。
*/
雙邏輯非操作符
1.邏輯非操作符有乙個嘆號 表示,針對任何資料型別,這個操作符都會返回乙個布林值。邏輯非操作符會先將它的運算元轉換為乙個布林值,然後再對其求反。alert flase true alert blue false alert 0 true alert nan true alert 12345 fals...
邏輯操作符
邏輯操作符 與 或 非 邏輯與 只有兩個條件同時滿足的時候才會返回true,兩個條件都是假的返回的結果是false 即 一假即假 當邏輯語操作不是布林值的時候,返回值就不一定是布林值,可分為以下幾種情況 1 當第乙個運算元據是物件時,返回第二個運算元據的值。2 當第二個運算元據為物件時,如果第乙個運...
邏輯操作符
邏輯操作符 只要有乙個條件不成立,返回false 說明 在有乙個運算元不是布林值的情況,邏輯與操作就不一定返回值,此時它遵循下列規則 1 如果第乙個運算元隱士型別轉換後為true,則返回第二個運算元。說明 規則是兩個運算元的情況。例子 console.log 80 50 返回結果 50 2 如果第乙...