在 JavaScript 中的 if 語句中指定多個條件

Sahil Bhosale 2023年10月12日
  1. 在 JavaScript 中使用邏輯運算子的 if 語句中新增乘法條件
  2. 在 JavaScript 的 if 語句中組合使用 AND 和 OR 運算子
在 JavaScript 中的 if 語句中指定多個條件

在程式設計中,如果我們想在滿足一個或多個特定條件時執行程式碼,那麼在這種情況下,我們會使用稱為 if 語句的東西。假設我們有一個整數陣列,我們想檢查陣列中是否存在數字 20。我們通過在 if 語句中新增一個條件來做到這一點,如下所示。

var arr = [5, 25, 70, 62, 20, 89];

arr.forEach(num => {
  if (num == 20) {
    // do something
  }
})

這是一個示例,其中我們僅在 if 語句中新增了一個條件。但是在編寫生產就緒的軟體時,有些情況我們必須將多個條件傳遞給 if 語句。並且根據條件的結果(真或假),我們可以執行適當的程式碼。現在讓我們瞭解如何編寫包含多個條件的 if 語句。

在 JavaScript 中使用邏輯運算子的 if 語句中新增乘法條件

為了在 if 語句中新增各種條件,我們使用了邏輯運算子。JavaScript 中有四個邏輯運算子,其中我們將使用兩個邏輯運算子 AND(&&)和 OR(||)。這兩個運算子將幫助我們區分 if 語句中的不同條件。讓我們看看這些運算子是如何工作的以及如何使用它們。

  • 和 (&&

如果你有多個條件,AND(&&)運算子以這種方式工作,並且如果其中任何一個條件為 false,則總體結果將為 false。有關更多資訊,請參閱下面的真值表。

AND 運算子的真值表:

A B A && B
True True True
True False False
False True False
False False False

例子:

var arr = [5, 25, 70, 62, 20, 89];

arr.forEach(num => {
  if (num == 20 && num % 2 == 0) {
    console.log(num);
  }
})

輸出:

20

在這個例子中,我們在 if 語句中有兩個條件。第一個條件檢查陣列的當前編號是否為 20。如果條件成立,那麼它將返回 truefalse 否則。第二個條件檢查陣列的當前編號是否為偶數。如果這是正確的,那麼它將是,否則。

在這種情況下,由於我們使用 && 運算子,if 語句中的兩個條件都必須成立才能進入 if 語句。在這裡,僅對於陣列的數字 20,這兩個條件都將成立,因為數字 20 等於 20,而且 20%2 將給我們 0 作為輸出。

  • 或 (||)

如果你有多個條件,則 OR (||) 運算子以這種方式工作,並且如果其中任何一個條件為,則總體結果將為

OR 運算子的真值表:

| A | B | A || B |
| ——- | ——- | :—–: |
| True | True | True |
| True | False | True |
| False | True | True |
| False | False| False |

例子:

var arr = [5, 25, 70, 62, 20, 89];

arr.forEach(num => {
  if (num == 20 || num % 2 == 0) {
    console.log(num);
  }
})

輸出:

70
62
20

對於 OR 運算子,我們採用了與 AND 運算子相同的示例,但是我們使用了 || 而不是 &&運算子。請注意僅通過更改運算子就可以更改輸出。這是因為當數字為 706220 時,第二個運算子變為 true 三次。

在 JavaScript 的 if 語句中組合使用 AND 和 OR 運算子

在某些情況下,我們必須在 if 語句中組合使用這些運算子。下面的示例說明了相同的情況。

var arr = [5, 25, 70, 62, 20, 89];

arr.forEach(num => {
  if ((num != 20 && num % 2 == 0) || (num > 50) && (num < 100)) {
    console.log(num);
  }
})

輸出:

70
62
89

在這裡,我們在 if 語句中有三個條件。第一個條件本身就是兩個條件的組合。為了使第一個條件為 true,內部兩個條件 num != 20num%2 == 0 也必須為真,因為有一個 && 運算子。然後我們有第二個條件來檢查數字是否大於 50。第三個條件是檢查數字是否小於 100

請注意,有一個||第一個和第二個條件之間的運算子和第二個和第三個之間的&&運算子。根據運算子的優先順序,&&運算子的優先順序高於||運算子。因此,將首先評估第二個和第三個條件,然後將使用第一個條件評估此結果。要了解有關運算子優先順序的更多資訊,你可以訪問此 MDN 文件

除了只使用一個 if 語句,我們還可以使用稱為 if and else if 語句的東西。這允許我們新增多個 if 語句,每個語句都有不同的條件,並且每個程式碼塊都可以執行不同的程式碼。下面的程式碼片段顯示了這一點。

var arr = [5, 25, 70, 62, 20, 89];

arr.forEach(num => {
  if ((num > 50) && (num < 100)) {
    console.log('The number is in the range of 20 to 100.');
  } else if (num != 20 && num % 2 == 0) {
    console.log('The number 20 is divisible by 2.')
  } else if ((num < 50) || (num == 5)) {
    console.log('The number is less than 50.')
  }
})

輸出:

The number is less than 50.
The number is less than 50.
The number is in the range of 20 to 100.
The number is in the range of 20 to 100.
The number is less than 50.
The number is in the range of 20 to 100.

在這裡,我們新增了 if 和各種 else if 語句,每個語句都包含多個條件。現在,根據陣列中存在的數字,將滿足三個條件中的任何一個,並且將執行該特定程式碼塊中的程式碼。

作者: Sahil Bhosale
Sahil Bhosale avatar Sahil Bhosale avatar

Sahil is a full-stack developer who loves to build software. He likes to share his knowledge by writing technical articles and helping clients by working with them as freelance software engineer and technical writer on Upwork.

LinkedIn