JavaScript 有三種邏輯運算子: &&、||、!

&& (And)
舉一個生活化的例子:

用程式碼來表達:
🎃 先宣告兩個變數
- 有帶身分證:
var isID = true; - 沒帶印章:
var isInk = false;
🎃 必須同時滿足這兩個條件,來做驗證:「身分證」、「印章」都要帶
1 | isID == true && isInk == true; |
最後回傳 false 的原因為:
- 雖然第一個條件「
isID == true」是 true - 但是第二個條件「
isInk == true」是 false
–> 只要有「其中一個條件是 false」,最後就會回傳 false

|| (Or)
舉一個生活化的例子:

用程式碼來表達:
🎃 先宣告兩個變數
- 我的帳單金額:
var bill = 1200; - 我不是 VIP:
var isVIP = false;
🎃 只要「其中一個條件成立」即可
1 | bill >= 1000 || isVIP == true |
最後回傳 true 的原因為:
- 雖然「第二個條件
isVIP == true」會回傳 false - 但是 「第一個條件
bill >= 1000」是回傳 true
–> 只要「其中一個條件成立」,最後就會回傳 true

! (Not)
例如:
- 原本
2 > 3是回傳 false
🎃 如果寫 !(2 > 3),就會回傳 true

範例練習

我的 codepen 範例
https://codepen.io/saffranwang/full/QWwGWyN
html 架構
html:
1 | <div class="wrap"> |
JS 程式碼
🎃 先宣告兩個變數:
- 我的帳單金額:
var myBill = 1250; - 我不是 VIP:
var isVIP = false;
🎃 因為服務生一開始說「“兩者達到”才能送贈品」,所以要使用「&&」來寫條件
1 | var andCheck = myBill >= 1000 && isVIP == true; |
🎃 服務生後來又說「“只要一個有達到”就送贈品」,所以要使用「||」來寫條件
1 | var orCheck = myBill >= 1000 || isVIP == true; |
🎃 接下來,就可以把「andCheck帶入id="andId"」,把「orCheck帶入id="orId"」
JS:
1 | var myBill = 1250; |
