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-tw/n/134550.html
微信掃一掃
支付寶掃一掃