返回部落格

在 Javascript 中使用 Switch 敘述進行決策

在 Javascript 中使用 Switch 敘述進行決策

簡介

條件陳述式是任何程式語言中最重要的控制流程之一。我們使用它們來根據某些條件決定執行的行為。在 Javascript 中,條件區塊可以使用 if, else if, else 以及 switch 陳述式來構建。

The switch 陳述式透過針對運算式的某些可能結果進行決策,使控制流程易於閱讀。根據匹配的使用案例,可以執行一個或多個程式碼區塊。 switch 控制類似於 else if 陳述式。然而, switch 在語法上更具可讀性。它也非常適合有多個可能結果的場景。

在本教學中,我們將專注於 switch 陳述式在 Javascript 中的應用,並實作它來構建複雜的控制結構。我們還將學習如何使用 break , case 以及 default 陳述式在 switch 區塊中來引導控制流程.

使用 Switch 陳述式

The switch 陳述式的工作原理是將變數的值與可能的運算式進行比較。然後,它執行與結果匹配的程式碼區塊。 switch  陳述式與 if 陳述式沒有什麼不同。簡而言之,switch 陳述式的語法寫作:

以下是 switch 陳述式的範例。它有兩個 case 或兩個可能的結果,以及一個由 default 關鍵字指定的備用選項。當執行結束或找不到匹配的 case 時,會執行此備用選項:

上述程式碼的執行方式如下:

  1. 首先,評估運算式。

  2. 接下來,將運算式的結果與 case x 進行匹配。如果值匹配,則執行 case x 下的程式碼區塊。

  3. 如果運算式與 case x 不匹配,則與 case y 進行匹配。如果找到匹配,則執行 case y 程式碼。

  4. 最後,如果 case xcase y 都不匹配,則執行 default 程式碼,且控制權移出 switch 區塊。

實際範例

為了理解 switch 陳述式,讓我們來看一個實際範例。我們將提取目前日期的星期幾數值,方法是使用 getDay() 方法,該方法屬於 Javascript 的 Date 物件。這個值是一個數字, 代表星期日,一直到 6 代表星期六。我們將針對這些值進行評估,以確定今天是星期幾:

接下來,我們將把這個值傳遞給 switch 陳述式。 switch 陳述式將從上到下執行,將其與各個 case 進行匹配,以確定今天是星期幾。一旦找到匹配的 case, break 指令將停止 switch 區塊繼續評估陳述式:

根據從 getDate() 方法返回的值,它將從最上方開始,逐一與各個 case 進行比對。輸出結果會根據您執行程式碼的日期而有所不同。設置 default 程式碼區塊是為了在沒有匹配到任何 case 時處理這種情況。然而,在此程式碼中,由於一週的天數是有限的,因此永遠不會呼叫 default。

The break 語句可確保一旦匹配到 case,就不會再匹配其他 case,且控制權會跳出 switch 語句。這使程式更高效、更快速。

在 Switch 中測試範圍

到目前為止,我們一直在看非常簡單的使用案例。但有時可能需要測試一個範圍的值,而不是單一的值。我們可以透過將運算式設置為 true 並在每個 case 語句中進行操作。

讓我們透過一個範例來演示這個使用案例。我們將取得一個分數,然後使用以下分類將其轉換為成績:

  • 90 分及以上為 A

  • 80 到 89 分為 B

  • 70 到 79 分為 C

  • 60 到 69 分為 D

  • 59 分及以下為 F

我們將把這些語句寫成 switch 語句。以下是相關程式碼:

與上述程式碼範例不同,這裡我們將括號中的運算式設定為 true。因此,無論哪一個 case 語句與 true 值相符,它都會被執行。就像 else if 語句一樣,第一個與指定值相符的語句將會被執行。這裡的輸出將會是 B,儘管事實上連 CD 也符合該運算式。

多個 Case

如果您希望多個 case 共用同一個程式碼區塊,這也是可行的。這類似於 條件在 if 語句中。在這種情況下,我們可以為每個程式碼區塊指定多個 case。

為了說明這個概念,我們將提供一個以一年中月份為例的範例。我們將把這些月份分類為一年的四季。首先,我們將使用新的 Date() 方法來找出對應目前月份的數字,並將其套用到 month 變數。 Date().getMonth() 方法會傳回一個介於 0  到 11 之間的數字,其中 0 代表一月,而 11 代表十二月。

我們將使用以下規格進行分類:

  • 冬季:一月、二月和三月

  • 春季:四月、五月和六月

  • 夏季:七月、八月和九月

  • 秋季:十月、十一月和十二月

程式碼看起來會像這樣:

執行上述程式碼時,系統會根據月份在主控台(console)中指出季節的名稱。

結論

在本教學中,我們示範了如何使用 switch 語句於 JavaScript 應用程式中。我們還將 switch 語句套用到範圍和多個 case,並搭配了 default 關鍵字。如果您想了解更多關於 JavaScript 的資訊,可以參考以下教學:

祝您編寫程式愉快!

author

Shreyas Patil

作者 · CloudSigma

Preslav Dobrev 是 CloudSigma 的創意設計師,專注於透過傳統與創新行銷渠道建立一致的企業形象。他擅長將藝術願景與策略行銷相融合,創造具有影響力的品牌敘事。

留言

目前尚無留言。成為第一個留言的人吧。