js基礎---邏輯運算子
阿新 • • 發佈:2021-08-23
邏輯運算子 ! - 非運算可以對一個布林值進行取反,true變false false邊true - 當對非布林值使用!時,會先將其轉換為布林值然後再取反 - 我們可以利用!來將其他的資料型別轉換為布林值 && - &&可以對符號兩側的值進行與運算 - 只有兩端的值都為true時,才會返回true。只要有一個false就會返回false。 - 與是一個短路的與,如果第一個值是false,則不再檢查第二個值 - 對於非布林值,它會將其轉換為布林值然後做運算,並返回原值 - 規則: 1.如果第一個值為false,則返回第一個值 2.如果第一個值為true,則返回第二個值 || - ||可以對符號兩側的值進行或運算 - 只有兩端都是false時,才會返回false。只要有一個true,就會返回true。 - 或是一個短路的或,如果第一個值是true,則不再檢查第二個值 - 對於非布林值,它會將其轉換為布林值然後做運算,並返回原值 - 規則: 1.如果第一個值為true,則返回第一個值 2.如果第一個值為false,則返回第二個值
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> <script type="text/javascript"> /* * JS中為我們提供了三種邏輯運算子 * ! 非 * - !可以用來對一個值進行非運算 * - 所謂非運算就是值對一個布林值進行取反操作, * true變false,false變true * - 如果對一個值進行兩次取反,它不會變化 * - 如果對非布林值進行元素,則會將其轉換為布林值,然後再取反 * 所以我們可以利用該特點,來將一個其他的資料型別轉換為布林值 * 可以為一個任意資料型別取兩次反,來將其轉換為布林值, * 原理和Boolean()函式一樣 * * && 與 * - &&可以對符號兩側的值進行與運算並返回結果 * - 運算規則 * - 兩個值中只要有一個值為false就返回false, * 只有兩個值都為true時,才會返回true * - JS中的“與”屬於短路的與, * 如果第一個值為false,則不會看第二個值 * * || 或 * - ||可以對符號兩側的值進行或運算並返回結果 * - 運算規則: * - 兩個值中只要有一個true,就返回true * 如果兩個值都為false,才返回false * - JS中的“或”屬於短路的或 * 如果第一個值為true,則不會檢查第二個值*/ //如果兩個值都是true則返回true var result = true && true; //只要有一個false,就返回false result = true && false; result = false && true; result = false && false; //console.log("result = "+result);//第一個值為true,會檢查第二個值 //true && alert("看我出不出來!!"); //第一個值為false,不會檢查第二個值 //false && alert("看我出不出來!!"); //兩個都是false,則返回false result = false || false; //只有有一個true,就返回true result = true || false; result = false || true ; result = true || true ; //console.log("result = "+result); //第一個值為false,則會檢查第二個值 //false || alert("123"); //第一個值為true,則不再檢查第二個值 //true || alert("123"); var a = false; //對a進行非運算 a = !a; //console.log("a = "+a); var b = 10; b = !!b; //console.log("b = "+b); //console.log(typeof b); </script> </head> <body> </body> </html>