如何使用JavaScript中Switch語句-創(chuàng)新互聯(lián)

這篇文章將為大家詳細講解有關(guān)如何使用JavaScript中Switch語句,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

目前成都創(chuàng)新互聯(lián)公司已為成百上千的企業(yè)提供了網(wǎng)站建設(shè)、域名、網(wǎng)站空間成都網(wǎng)站托管、企業(yè)網(wǎng)站設(shè)計、萬山網(wǎng)站維護等服務(wù),公司將堅持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。

Switch

switch語句計算表達式并作為匹配大小寫的結(jié)果執(zhí)行代碼。 起初它看起來有點令人生畏,但基本語法類似于if語句。 它將始終使用switch(){}編寫,括號中包含要測試的表達式,以及包含要執(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ā)生的事件序列:

表達式被評估

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

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

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

讓我們按照上面的語法制作一個switch語句的工作示例。 在此代碼塊中,我們將使用新的Date()方法找到一周中的當前日期,并使用getDay()來打印與當天相對應(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 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!'

此代碼在星期四進行了測試,對應(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ù)檢查直到它到達結(jié)尾。 為了使我們的程序更快,更高效,我們包括break。

Switch Ranges

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

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

● 等級90及以上是A

● 等級80到89是B

● 等級70到79是C

● 等級60到69是D

● 等級59或以下是F

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

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'

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

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

Multiple Cases

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

為了測試這個,我們將制作一個小的應(yīng)用程序,將當前月份與適當?shù)募竟?jié)相匹配。 首先,我們將使用新的Date()方法查找與當前月份對應(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 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.");
   }

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

Output
Summer

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

結(jié)論:

在本文中,我們回顧了switch語句,這是一種條件語句,用于評估表達式并根據(jù)匹配結(jié)果輸出不同的值。 我們使用范圍和多個case語句檢查了switch語句。

關(guān)于使用JavaScript中Switch語句的方法就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

名稱欄目:如何使用JavaScript中Switch語句-創(chuàng)新互聯(lián)
當前路徑:http://muchs.cn/article24/ddohje.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供自適應(yīng)網(wǎng)站、外貿(mào)建站營銷型網(wǎng)站建設(shè)、外貿(mào)網(wǎng)站建設(shè)App開發(fā)、品牌網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設(shè)