javascript基礎(邏輯運算子)(九)
有程式碼編寫基礎的,自學時請略過
1.邏輯與,邏輯或:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<script type="text/javascript">
/*
! 邏輯非
- 非可以對一個布林值進行取反操作
- true變成false,false變true
- 如果為一個值取兩次反和沒取一樣
- 如果對一個非布林值進行取反操作,它會將其轉換為布林值然後再運算
- 利用這個特點,我們可以為任意的資料型別去兩次反,來將其轉換為布林值,
原理和Boolean()函式一樣
&& 邏輯與
|| 邏輯或
*
* */
var a = false;
//a = !a;
a = !!a;
a = 1;
/*
* 為a取兩次反,來將其轉換為布林值
*/
a = !!a;
/*console.log("a = "+a);
console.log(typeof a);*/
var str = "hello";
//轉換為布林值
str = !!str;
console.log("str = "+str);
console.log(typeof str);
</script>
</head>
<body>
</body>
</html>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<script type="text/javascript">
/*
&&
- 邏輯與
- &&可以對符號兩側的值進行與運算
- 只有兩端都是true時,才會返回true。只有有一個false就會返回false。
||
- 邏輯或
- ||可以對符號兩側的值進行或運算
- 只要有一個true就會返回ture,如果兩端都是false才會返回false
* */
//兩端都為true,則返回true
var result = true && true;
//只要有一個false,就返回false
result = false && true;
result = true && false;
result = false && false;
//console.log("result = "+result);
/*
* JS中與運算是短路的與,如果第一個值是false,則不看第二個值
*/
//true && alert("看我出來不出來"); 第一個值為true,alert()會執行
//false && alert("看我出來不出來"); 第一個值為false,alert()不會執行
//兩端都是false,則返回false
result = false || false;
//只要有一個true,就返回true
result = true || false;
result = false || true;
result = true || true;
//console.log("result = "+result);
/*
* JS中的或,是短路的或,如果第一個值為true,則不看第二個值
*/
//false || alert("看我出來不出來"); //第一個值為false,會看第二個
true || alert("看我出來不出來"); //第一個值為true,不看第二個
</script>
</head>
<body>
</body>
</html>
特殊型別:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<script type="text/javascript">
/*
對於非布林值,做與或運算時,它會先將其轉換為布林值,然後在運算 最終返回變數的原值!
- 非布林值的與運算:
如果第一個值為false,則返回第一個。如果第一個值為true,則返回第二個
- 非布林值的或運算
如果第一個值為true,則返回第一個。如果第一個值為false,則返回第二個
* */
//true && true
//如果兩個值都為true,則返回後邊的
var result = 2 && 10; //10
//如果兩個值中有false,則返回靠前的false
//false && true
result = 0 && 1; //0
//true && false
result = 1 && 0; //0
//false && false
result = NaN && 0;
result = "" && "hello";
result = "你好" && null;
//兩個值中有ture,則返回靠前的true
//true || true
result = 1 || 2; //1
result = 2 || 1; //2
//false || true
result = 0 || 2; //2
//true || false
result = 2 || 0; //2
//兩個值都是false,則返回後邊的
//false || false
result = 0 || NaN; //NaN
result = NaN || 0; //0
result = 1 || ""; //1
result = undefined || "hello"; //hello
console.log("result = "+result);
</script>
</head>
<body>
</body>
</html>
相關文章
- Java基礎09:邏輯運算子、位運算子Java
- JavaScript || 邏輯或運算子JavaScript
- JavaScript && 邏輯與運算子JavaScript
- JavaScript ! 邏輯非運算子JavaScript
- 邏輯運算子
- 【Python基礎知識】Python中的邏輯運算子Python
- SCSS 邏輯運算子CSS
- 4、邏輯運算子
- iOS Swift邏輯運算子iOSSwift
- php運算子 比較運算子 邏輯運算子 三元運算子PHP
- JS 中的邏輯運算子JS
- Python學習-比較運算子和邏輯運算子Python
- MySQL的四種運算子(算術運算子、比較運算子、邏輯運算子和位運算子)MySql
- 【C】 15_邏輯運算子分析
- JS 邏輯運算子的特點JS
- 【C進階】15、邏輯運算子
- 8.Golang中的運算子-算術運算子、關係運算子、邏輯運算子、賦值運算子Golang賦值
- java零基礎自學第一天②,運算子:表示式,算術運算子,+操作,賦值運算子,自增自減運算子,關係運算子,邏輯運算子,三元運算子Java賦值
- java短路邏輯運算子是什麼Java
- 物聯網學習教程——邏輯運算子和邏輯表示式
- 運算子的基礎
- == 運算子 - Java基礎Java
- 關於 isset 和邏輯運算子的使用
- day01-字串方法-邏輯運算子規律字串
- python-邏輯運算子對應的函式Python函式
- 逍遙自在學C語言 | 邏輯運算子C語言
- [java基礎]之 運算子Java
- 邏輯代數基礎
- Kotlin 運算子詳解:算術、賦值、比較與邏輯運算子全解析Kotlin賦值
- C語言基礎-1、邏輯型別和運算C語言型別
- JavaScript in 運算子JavaScript
- JavaScript運算子JavaScript
- JavaScript -= 運算子JavaScript
- JavaScript += 運算子JavaScript
- JavaScript *= 運算子JavaScript
- JavaScript %= 運算子JavaScript
- JavaScript |= 運算子JavaScript
- JavaScript <<= 運算子JavaScript
- JavaScript >>>= 運算子JavaScript