在 JavaScript 內的第二種判斷式是 switch
,它跟 else if
有異曲同工之妙,以下就來介紹吧!
switch
架構如下:
switch(代入的參數){
case '條件1':
程式碼區塊
break;
case '條件2':
程式碼區塊
break;
default:
程式碼區塊
break;
}
模擬個情境,假設現在紅綠燈亮著黃燈,而要讓 switch
去判斷執行什麼程式碼,寫法會如下:
var light = yellow;
switch(light){
// 如果是紅色就執行這區塊的程式碼
case 'red':
console.log('現在是'+light);
break;
// 如果是黃色就執行這區塊的程式碼
case 'yellow':
console.log('現在是'+light);
break;
// 如果上述都沒有符合的條件,就執行這區塊的程式碼
default:
console.log('現在是綠燈');
break;
}
有點類似車庫的概念,去判斷如果為哪台車(值)就去停哪個位子(執行哪個程式碼)
而 switch
跟 if else
差別在於,if else
會把每個條件跟程式碼都檢視過一次,而 switch
只會去檢視 case
內的條件是否吻合,吻合才去執行程式碼區塊,相對來說,if else
會比較消耗效能