您好,登錄后才能下訂單哦!
本篇文章為大家展示了JavaScript中Switch語句如何使用,內容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。
Switch
switch語句計算表達式并作為匹配大小寫的結果執行代碼。 起初它看起來有點令人生畏,但基本語法類似于if語句。 它將始終使用switch(){}編寫,括號中包含要測試的表達式,以及包含要執行的潛在代碼的花括號。
下面是一個帶有兩個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 }
遵循上面代碼塊的邏輯,這是將要發生的事件序列:
表達式被評估
第一個case,x將針對表達式進行測試。如果匹配,則代碼將執行,break關鍵字將結束該switch塊。
如果它不匹配,x將跳過,y并將針對表達式測試案例。如果y匹配表達式,代碼將執行并退出switch塊。
如果所有情況都不匹配,則default代碼塊將運行。
讓我們按照上面的語法制作一個switch語句的工作示例。 在此代碼塊中,我們將使用新的Date()方法找到一周中的當前日期,并使用getDay()來打印與當天相對應的數字。 1代表星期一,一直代表7代表星期日。 我們將從設置變量開始。
const day = new Date().getDay();
使用switch,我們將在一周中的每一天向控制臺發送消息。程序將按從上到下的順序運行以查找匹配項,一旦找到一個,該break命令將停止該switch塊繼續評估語句。
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!'
此代碼在星期四進行了測試,對應于4,因此控制臺輸出為Just one more day 'til the weekend!。根據您測試代碼的星期幾,您的輸出會有所不同。我們default在最后包含一個塊以便在出現錯誤時運行,在這種情況下不應該發生,因為一周只有7天。例如,我們也可能只有周一到周五的打印結果,并且該default塊可能在周末也有相同的信息。
如果我們在每個語句中省略了break關鍵字,則其他case語句都不會被評估為true,但程序將繼續檢查直到它到達結尾。 為了使我們的程序更快,更高效,我們包括break。
Switch Ranges
在某種情況下,您需要評估switch塊中的一系列值,而不是像上面示例中的單個值。 我們可以通過將表達式設置為true并在每個case語句中執行操作來完成此操作。
為了使這更容易理解,我們制作了一個簡單的評分應用程序,它將獲得一個數字分數并將其轉換為字母等級,具有以下要求。
● 等級90及以上是A
● 等級80到89是B
● 等級70到79是C
● 等級60到69是D
● 等級59或以下是F
現在我們可以將其寫為switch語句。 由于我們正在檢查范圍,因此我們將在每種情況下執行操作以檢查每個表達式是否正在評估為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'
在此示例中,要計算的括號中的表達式為true。 這意味著任何評估為true的情況都是匹配的。
就像使用else一樣,switch從上到下進行評估,并接受第一個真正的匹配。 因此,即使我們的等級變量為87,因此對于C和D也評估為真,第一個匹配是B,它將是輸出。
Multiple Cases
您可能會遇到多個case應具有相同輸出的代碼。 為了實現這一點,您可以為每個代碼塊使用多個case。
為了測試這個,我們將制作一個小的應用程序,將當前月份與適當的季節相匹配。 首先,我們將使用新的Date()方法查找與當前月份對應的數字,并將其應用于月份變量。
為簡單起見,我們的應用程序將輸出具有以下規格的四季:
● 冬季:一月,二月和三月
● 春天:四月,五月和六月
● 夏季:七月,八月和九月
● 秋天:十月,十一月和十二月
以下是我們的代碼。
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."); }
當我們運行代碼時,我們將根據上面的規范接收識別當前季節的輸出。
OutputSummer
出版時的當月是8,這與“夏季”季節產出的一個case陳述相對應。
上述內容就是JavaScript中Switch語句如何使用,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。