溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

JavaScript中的Switch語句怎么用

發(fā)布時間:2022-05-19 11:27:06 來源:億速云 閱讀:181 作者:zzz 欄目:大數(shù)據(jù)

本篇內(nèi)容介紹了“JavaScript中的Switch語句怎么用”的有關(guān)知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!

Switch

switch語句計算表達(dá)式并作為匹配大小寫的結(jié)果執(zhí)行代碼。 起初它看起來有點令人生畏,但基本語法類似于if語句。 它將始終使用switch(){}編寫,括號中包含要測試的表達(dá)式,以及包含要執(zhí)行的潛在代碼的花括號。

下面是一個帶有兩個case語句的switch語句和一個稱為default的回退的示例。

switch (expression) {    case x:            // execute case x code block        break;         case y:     // execute case y code block        break;         default:              // execute default code block      }

遵循上面代碼塊的邏輯,這是將要發(fā)生的事件序列:

表達(dá)式被評估

第一個case,x將針對表達(dá)式進(jìn)行測試。如果匹配,則代碼將執(zhí)行,break關(guān)鍵字將結(jié)束該switch塊。

如果它不匹配,x將跳過,y并將針對表達(dá)式測試案例。如果y匹配表達(dá)式,代碼將執(zhí)行并退出switch塊。

如果所有情況都不匹配,則default代碼塊將運行。

讓我們按照上面的語法制作一個switch語句的工作示例。 在此代碼塊中,我們將使用新的Date()方法找到一周中的當(dāng)前日期,并使用getDay()來打印與當(dāng)天相對應(yīng)的數(shù)字。 1代表星期一,一直代表7代表星期日。 我們將從設(shè)置變量開始。

const day = new Date().getDay();

使用switch,我們將在一周中的每一天向控制臺發(fā)送消息。程序?qū)磸纳系较碌捻樞蜻\行以查找匹配項,一旦找到一個,該break命令將停止該switch塊繼續(xù)評估語句。

week.js

// Set the current day of the week to a variable, with 1 being Monday and 7 being Sundayconst day = new Date().getDay();switch (day) {    case 1:        console.log("Happy Monday!");                break;        case 2:        console.log("It's Tuesday. You got this!");                break;        case 3:        console.log("Hump day already!");                break;        case 4:        console.log("Just one more day 'til the weekend!");                break;         case 5:        console.log("Happy Friday!");                break;          case 6:        console.log("Have a wonderful Saturday!");                break;          case 7:        console.log("It's Sunday, time to relax!");                break;          default:        console.log("Something went horribly wrong...");}
Output'Just one more day 'til the weekend!'

此代碼在星期四進(jìn)行了測試,對應(yīng)于4,因此控制臺輸出為Just one more day 'til the weekend!。根據(jù)您測試代碼的星期幾,您的輸出會有所不同。我們default在最后包含一個塊以便在出現(xiàn)錯誤時運行,在這種情況下不應(yīng)該發(fā)生,因為一周只有7天。例如,我們也可能只有周一到周五的打印結(jié)果,并且該default塊可能在周末也有相同的信息。

如果我們在每個語句中省略了break關(guān)鍵字,則其他case語句都不會被評估為true,但程序?qū)⒗^續(xù)檢查直到它到達(dá)結(jié)尾。 為了使我們的程序更快,更高效,我們包括break。

Switch Ranges

在某種情況下,您需要評估switch塊中的一系列值,而不是像上面示例中的單個值。 我們可以通過將表達(dá)式設(shè)置為true并在每個case語句中執(zhí)行操作來完成此操作。

為了使這更容易理解,我們制作了一個簡單的評分應(yīng)用程序,它將獲得一個數(shù)字分?jǐn)?shù)并將其轉(zhuǎn)換為字母等級,具有以下要求。

 ● 等級90及以上是A

 ● 等級80到89是B

 ● 等級70到79是C

 ● 等級60到69是D

 ● 等級59或以下是F

現(xiàn)在我們可以將其寫為switch語句。 由于我們正在檢查范圍,因此我們將在每種情況下執(zhí)行操作以檢查每個表達(dá)式是否正在評估為true,然后在滿足true要求后突破語句。

grades.js

// Set the student's gradeconst grade = 87;switch (true) {    // If score is 90 or greater    case grade >= 90:        console.log("A");               break;         // If score is 80 or greater    case grade >= 80:        console.log("B");                break;         // If score is 70 or greater    case grade >= 70:        console.log("C");               break;          // If score is 60 or greater    case grade >= 60:        console.log("D");                break;          // Anything 59 or below is failing    default:        console.log("F");}
Output'B'

在此示例中,要計算的括號中的表達(dá)式為true。 這意味著任何評估為true的情況都是匹配的。

就像使用else一樣,switch從上到下進(jìn)行評估,并接受第一個真正的匹配。 因此,即使我們的等級變量為87,因此對于C和D也評估為真,第一個匹配是B,它將是輸出。

Multiple Cases

您可能會遇到多個case應(yīng)具有相同輸出的代碼。 為了實現(xiàn)這一點,您可以為每個代碼塊使用多個case。

為了測試這個,我們將制作一個小的應(yīng)用程序,將當(dāng)前月份與適當(dāng)?shù)募竟?jié)相匹配。 首先,我們將使用新的Date()方法查找與當(dāng)前月份對應(yīng)的數(shù)字,并將其應(yīng)用于月份變量。

為簡單起見,我們的應(yīng)用程序?qū)⑤敵鼍哂幸韵乱?guī)格的四季:

 ● 冬季:一月,二月和三月

 ● 春天:四月,五月和六月

 ● 夏季:七月,八月和九月

 ● 秋天:十月,十一月和十二月

以下是我們的代碼。

seasons.js

// Get number corresponding to the current month, with 0 being January and 11 being Decemberconst month = new Date().getMonth();switch (month) {    // January, February, March    case 0:        case 1:        case 2:        console.log("Winter");                break;        // April, May, June    case 3:        case 4:        case 5:        console.log("Spring");                break;        // July, August, September    case 6:        case 7:        case 8:        console.log("Summer");                break;        // October, November, December    case 9:        case 10:        case 11:        console.log("Autumn");                break;        default:        console.log("Something went wrong.");   }

當(dāng)我們運行代碼時,我們將根據(jù)上面的規(guī)范接收識別當(dāng)前季節(jié)的輸出。

OutputSummer

出版時的當(dāng)月是8,這與“夏季”季節(jié)產(chǎn)出的一個case陳述相對應(yīng)。

“JavaScript中的Switch語句怎么用”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識可以關(guān)注億速云網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實用文章!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI