【JavaScript 教程】第四章 程序流程03— switch 語(yǔ)句

英文 | https://www.javascripttutorial.net/
譯文 | 楊小愛
那么,在今天的教程中,我們將一起來(lái)學(xué)習(xí)如何使用 JavaScript switch 語(yǔ)句來(lái)控制復(fù)雜的條件操作。
JavaScript switch case語(yǔ)句簡(jiǎn)介
該switch語(yǔ)句是與if else語(yǔ)句類似的流控制語(yǔ)句。您使用switch語(yǔ)句來(lái)控制復(fù)雜的條件操作。
下面說(shuō)明了該switch語(yǔ)句的語(yǔ)法:
switch (expression) {case value_1:statement_1;break;case value_2:statement_2;break;case value_3:statement_3;break;default:default_statement;}
如果表達(dá)式等于值 (value_1, value_2, …),switch 語(yǔ)句中的每個(gè) case 都會(huì)執(zhí)行相應(yīng)的語(yǔ)句 (statement_1, statement_2,…)。
break 關(guān)鍵字導(dǎo)致執(zhí)行跳出 switch 語(yǔ)句。如果省略 break 關(guān)鍵字,則代碼執(zhí)行將通過(guò)原始案例進(jìn)入下一個(gè)case。
如果表達(dá)式不匹配任何值,則將執(zhí)行 default_statement。它的行為類似于 if-else 語(yǔ)句中的 else 塊。
以下流程圖說(shuō)明了 switch 語(yǔ)句。

您經(jīng)常使用 switch語(yǔ)句來(lái)替換由if else鏈接在一起的復(fù)雜語(yǔ)句組成的語(yǔ)句。基本上,該switch語(yǔ)句等效于以下 if else語(yǔ)句。
if (expression == value_1) {statement_1;} else if (expression == value_2) {statement_2;} else if (expression == value_3) {statement_3} else {default_statement;}
JavaScriptswitch case示例
下面的示例聲明了一個(gè)名為day的變量,其值表示一周中的一天。該代碼day使用switch語(yǔ)句根據(jù)變量的值輸出一天的名稱。
var day = 3;var dayName;switch (day) {case 1:dayName = 'Sunday';break;case 2:dayName = 'Monday';break;case 3:dayName = 'Tuesday';break;case 4:dayName = 'Wednesday';break;case 5:dayName = 'Thursday';break;case 6:dayName = 'Friday';break;case 7:dayName = 'Saturday';break;default:dayName = 'Invalid day';}console.log(dayName); // Tuesday
在這種情況下,Tuesday記錄到控制臺(tái)窗口。
以下腳本演示了switch塊中的語(yǔ)句如何通過(guò)。它根據(jù)輸入的月份和年份輸出一個(gè)月中的天數(shù)。
var year = 2016;var month = 2;var dayCount;switch (month) {case 1:case 3:case 5:case 7:case 8:case 10:case 12:dayCount = 31;break;case 4:case 6:case 9:case 11:dayCount = 30;break;case 2:if (((year % 4 == 0) && !(year % 100 == 0))|| (year % 400 == 0))dayCount = 29;elsedayCount = 28;break;default:dayCount = -1; // invalid month}console.log(dayCount); // 29
這個(gè)怎么運(yùn)作。
有四種情況:
如果月份是 1、3、5、7、8、10 或 12,則一個(gè)月的天數(shù)為 31。
如果月份是 4、6、9 或 11,則該月的天數(shù)為 30。
如果月份為 2,年份不是閏年,則天數(shù)為 28。如果年份為閏年,則天數(shù)為 29。
如果輸入月份不在范圍內(nèi),腳本會(huì)跳轉(zhuǎn)到默認(rèn)分支并將dayCount變量設(shè)置為 -1,表示無(wú)效月份。
總結(jié)
通過(guò)本教程的學(xué)習(xí),您知道了如何使用 JavaScriptswitch case語(yǔ)句來(lái)控制腳本中復(fù)雜的條件分支。
學(xué)習(xí)更多技能
請(qǐng)點(diǎn)擊下方公眾號(hào)
![]()

