十年網(wǎng)站開(kāi)發(fā)經(jīng)驗(yàn) + 多家企業(yè)客戶 + 靠譜的建站團(tuán)隊(duì)
量身定制 + 運(yùn)營(yíng)維護(hù)+專業(yè)推廣+無(wú)憂售后,網(wǎng)站問(wèn)題一站解決
這篇文章將為大家詳細(xì)講解有關(guān)如何使用JavaScript中Switch語(yǔ)句,小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。
目前創(chuàng)新互聯(lián)已為成百上千家的企業(yè)提供了網(wǎng)站建設(shè)、域名、網(wǎng)站空間、網(wǎng)站托管、服務(wù)器托管、企業(yè)網(wǎng)站設(shè)計(jì)、開(kāi)州網(wǎng)站維護(hù)等服務(wù),公司將堅(jiān)持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長(zhǎng),共同發(fā)展。
Switch
switch語(yǔ)句計(jì)算表達(dá)式并作為匹配大小寫的結(jié)果執(zhí)行代碼。 起初它看起來(lái)有點(diǎn)令人生畏,但基本語(yǔ)法類似于if語(yǔ)句。 它將始終使用switch(){}編寫,括號(hào)中包含要測(cè)試的表達(dá)式,以及包含要執(zhí)行的潛在代碼的花括號(hào)。
下面是一個(gè)帶有兩個(gè)case語(yǔ)句的switch語(yǔ)句和一個(gè)稱為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á)式被評(píng)估
第一個(gè)case,x將針對(duì)表達(dá)式進(jìn)行測(cè)試。如果匹配,則代碼將執(zhí)行,break關(guān)鍵字將結(jié)束該switch塊。
如果它不匹配,x將跳過(guò),y并將針對(duì)表達(dá)式測(cè)試案例。如果y匹配表達(dá)式,代碼將執(zhí)行并退出switch塊。
如果所有情況都不匹配,則default代碼塊將運(yùn)行。
讓我們按照上面的語(yǔ)法制作一個(gè)switch語(yǔ)句的工作示例。 在此代碼塊中,我們將使用新的Date()方法找到一周中的當(dāng)前日期,并使用getDay()來(lái)打印與當(dāng)天相對(duì)應(yīng)的數(shù)字。 1代表星期一,一直代表7代表星期日。 我們將從設(shè)置變量開(kāi)始。
const day = new Date().getDay();
使用switch,我們將在一周中的每一天向控制臺(tái)發(fā)送消息。程序?qū)磸纳系较碌捻樞蜻\(yùn)行以查找匹配項(xiàng),一旦找到一個(gè),該break命令將停止該switch塊繼續(xù)評(píng)估語(yǔ)句。
week.js
// Set the current day of the week to a variable, with 1 being Monday and 7 being Sunday const 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)行了測(cè)試,對(duì)應(yīng)于4,因此控制臺(tái)輸出為Just one more day 'til the weekend!。根據(jù)您測(cè)試代碼的星期幾,您的輸出會(huì)有所不同。我們default在最后包含一個(gè)塊以便在出現(xiàn)錯(cuò)誤時(shí)運(yùn)行,在這種情況下不應(yīng)該發(fā)生,因?yàn)橐恢苤挥?天。例如,我們也可能只有周一到周五的打印結(jié)果,并且該default塊可能在周末也有相同的信息。
如果我們?cè)诿總€(gè)語(yǔ)句中省略了break關(guān)鍵字,則其他case語(yǔ)句都不會(huì)被評(píng)估為true,但程序?qū)⒗^續(xù)檢查直到它到達(dá)結(jié)尾。 為了使我們的程序更快,更高效,我們包括break。
Switch Ranges
在某種情況下,您需要評(píng)估switch塊中的一系列值,而不是像上面示例中的單個(gè)值。 我們可以通過(guò)將表達(dá)式設(shè)置為true并在每個(gè)case語(yǔ)句中執(zhí)行操作來(lái)完成此操作。
為了使這更容易理解,我們制作了一個(gè)簡(jiǎn)單的評(píng)分應(yīng)用程序,它將獲得一個(gè)數(shù)字分?jǐn)?shù)并將其轉(zhuǎn)換為字母等級(jí),具有以下要求。
● 等級(jí)90及以上是A
● 等級(jí)80到89是B
● 等級(jí)70到79是C
● 等級(jí)60到69是D
● 等級(jí)59或以下是F
現(xiàn)在我們可以將其寫為switch語(yǔ)句。 由于我們正在檢查范圍,因此我們將在每種情況下執(zhí)行操作以檢查每個(gè)表達(dá)式是否正在評(píng)估為true,然后在滿足true要求后突破語(yǔ)句。
grades.js
// Set the student's grade const 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'
在此示例中,要計(jì)算的括號(hào)中的表達(dá)式為true。 這意味著任何評(píng)估為true的情況都是匹配的。
就像使用else一樣,switch從上到下進(jìn)行評(píng)估,并接受第一個(gè)真正的匹配。 因此,即使我們的等級(jí)變量為87,因此對(duì)于C和D也評(píng)估為真,第一個(gè)匹配是B,它將是輸出。
Multiple Cases
您可能會(huì)遇到多個(gè)case應(yīng)具有相同輸出的代碼。 為了實(shí)現(xiàn)這一點(diǎn),您可以為每個(gè)代碼塊使用多個(gè)case。
為了測(cè)試這個(gè),我們將制作一個(gè)小的應(yīng)用程序,將當(dāng)前月份與適當(dāng)?shù)募竟?jié)相匹配。 首先,我們將使用新的Date()方法查找與當(dāng)前月份對(duì)應(yīng)的數(shù)字,并將其應(yīng)用于月份變量。
為簡(jiǎn)單起見(jiàn),我們的應(yīng)用程序?qū)⑤敵鼍哂幸韵乱?guī)格的四季:
● 冬季:一月,二月和三月
● 春天:四月,五月和六月
● 夏季:七月,八月和九月
● 秋天:十月,十一月和十二月
以下是我們的代碼。
seasons.js
// Get number corresponding to the current month, with 0 being January and 11 being December const 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)我們運(yùn)行代碼時(shí),我們將根據(jù)上面的規(guī)范接收識(shí)別當(dāng)前季節(jié)的輸出。
Output Summer
出版時(shí)的當(dāng)月是8,這與“夏季”季節(jié)產(chǎn)出的一個(gè)case陳述相對(duì)應(yīng)。
結(jié)論:
在本文中,我們回顧了switch語(yǔ)句,這是一種條件語(yǔ)句,用于評(píng)估表達(dá)式并根據(jù)匹配結(jié)果輸出不同的值。 我們使用范圍和多個(gè)case語(yǔ)句檢查了switch語(yǔ)句。
關(guān)于使用JavaScript中Switch語(yǔ)句的方法就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到。