switch語句是JavaScript中的一個重要控制流語句,用於比較某個表達式與若干個值中的匹配是否相等,從而執行相應的代碼塊。在實際開發中,我們經常會用到switch語句來實現對某些變量的操作。接下來,我們將從多個方面對javascript switch語句進行詳細的闡述。
一、switch語句的基本使用
switch (expression) { case value1: // 代碼塊1 break; case value2: // 代碼塊2 break; default: // 默認代碼塊 }
在上面這個例子中,expression是一個可以返回值的表達式,value1、value2等是用來與expression比較的值,如果expression的值與某個value值相等,就會執行相應的代碼塊。如果所有的value值都不匹配,就執行default中的代碼塊。每個case後面需要加上break,否則程序就會繼續執行下一個case。
下面是一個簡單的例子,用來展示如何使用switch語句:
let day = "Monday" switch (day) { case "Monday": console.log("今天是周一"); break; case "Tuesday": console.log("今天是周二"); break; case "Wednesday": console.log("今天是周三"); break; case "Thursday": console.log("今天是周四"); break; case "Friday": console.log("今天是周五"); break; default: console.log("今天是周末"); break; }
在這個例子中,我們比較day變量的值,如果符合某個case就打印相應的信息。如果不符合任何一個case,就執行default代碼塊。
二、switch語句的嵌套使用
在實際開發中,我們有時需要在switch語句中再嵌套另一個switch語句,以實現更複雜的邏輯。在下面這個例子中,我們展示如何根據學生的成績等級輸出相應的評語:
let grade = "A" switch (grade) { case "A": console.log("優秀"); break; case "B": console.log("良好"); break; case "C": switch (subject) { case "數學": console.log("及格"); break; case "語文": console.log("一般"); break; default: console.log("不及格"); break; } break; default: console.log("不及格"); break; }
在這個例子中,我們比較grade變量的值,如果符合某個case就打印相應的信息。如果grade的值為C,就再嵌套一個switch語句,根據subject變量的值來輸出相應的信息。如果不符合任何一個case,就執行default代碼塊。
三、switch語句的多個匹配值
在實際開發中,我們有時需要讓一個case同時匹配多個值。在下面這個例子中,我們展示如何同時將case 1和case 2匹配到同一個代碼塊中:
let num = 1 switch (num) { case 1: case 2: console.log("數字為1或2"); break; case 3: console.log("數字為3"); break; default: console.log("數字不在1到3之間"); }
在這個例子中,當num的值為1或2時,就會執行第二個case中的代碼塊。
四、switch語句的返回值
在javascript中,switch語句可以作為一個函數的返回值。在下面這個例子中,我們展示如何將switch語句作為一個函數的返回值:
function getResult(score) { switch (true) { case (score >= 90): return "優秀"; case (score >= 80): return "良好"; case (score >= 60): return "及格"; default: return "不及格"; } } console.log(getResult(85)); console.log(getResult(45));
在這個例子中,我們定義了一個名為getResult的函數,用來根據score的值返回相應的結果。在switch語句中,我們比較了score的值,如果符合某個case就返回相應的結果。如果不符合任何一個case,就執行default代碼塊,返回“不及格”。最後,我們調用了getResult函數,並分別傳入了85和45兩個參數,分別輸出了對應的結果。
原創文章,作者:MNLM,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/134550.html