JavaScript switch 語句

定義和用法

switch 語句根據不同的情況執行代碼塊。

switch 語句是 JavaScript 的“條件”語句的一部分,用于根據不同的條件執行不同的操作。使用 switch 選擇要執行的許多代碼塊之一。這是長的嵌套 if/else 語句的完美解決方案。

switch 語句計算表達式。然后將表達式的值與結構中每個 case 的值進行比較。如果匹配,則執行關聯的代碼塊。

switch 語句通常與 break 或 default 關鍵字(或兩者)一起使用。這些都是可選的:

break 關鍵字脫離 switch 塊。這將停止在塊內執行更多代碼和/或案例測試。如果省略 break,則執行 switch 語句中的下一個代碼塊。

如果沒有 case 匹配,default 關鍵字指定要運行的一些代碼。一個 switch 中只能有一個 default 關鍵字。盡管其是可選的,但建議您使用它,因為它可以處理意外情況。

實例

根據用戶輸入執行代碼塊:

var text;
var fruits = document.getElementById("myInput").value;
switch(fruits) {
  case "Banana":
    text = "Banana is good!";
    break;
  case "Orange":
    text = "I am not a fan of orange.";
    break;
  case "Apple":
    text = "How you like them apples?";
    break;
  default:
    text = "I have never heard of that fruit...";
}

親自試一試

頁面下方有更多 TIY 實例。

語法

switch(expression) {
  case n:
    code block
    break;
  case n:
    code block
    break;
  default:
    default code block
}

參數值

參數 描述
expression 必需。指定要計算的表達式。表達式會被計算一次。表達式的值與結構中每個 case 標簽的值進行比較。如果匹配,則執行相關的代碼塊。

技術細節

JavaScript 版本: ECMAScript 1

更多實例

實例

使用今天的 weekday 編號計算 weekday 名稱 (Sunday=0, Monday=1, Tuesday=2, ...):

var day;
switch (new Date().getDay()) {
  case 0:
    day = "Sunday";
    break;
  case 1:
    day = "Monday";
    break;
  case 2:
    day = "Tuesday";
    break;
  case 3:
    day = "Wednesday";
    break;
  case 4:
    day = "Thursday";
    break;
  case 5:
    day = "Friday";
    break;
  case 6:
    day = "Saturday";
    break;
  default:
    day = "Unknown Day";
}

親自試一試

實例

如果今天既不是星期六也不是星期日,寫一條默認消息:

var text;
switch (new Date().getDay()) {
  case 6:
    text = "Today is Saturday";
    break; 
  case 0:
    text = "Today is Sunday";
    break; 
  default: 
    text = "Looking forward to the Weekend";
}

親自試一試

實例

有時您會希望不同的情況使用相同的代碼,或者使用相同的默認值。

請注意,在本例中,case 共享相同的代碼塊,并且 default case 不必是 switch 塊中的最后一個 case(但是,如果 default 不是 switch 塊中的最后一個 case,請記住用 break 結束它)。

var text;
switch (new Date().getDay()) {
  case 1:
  case 2:
  case 3:
  default: 
    text = "Looking forward to the Weekend";
    break; 
  case 4:
  case 5:
    text = "Soon it is Weekend";
    break; 
  case 0:
  case 6:
    text = "It is Weekend";
}

親自試一試

實例

根據來自提示框的用戶輸入,使用 switch 語句執行代碼塊:

var text;
var favDrink = prompt("What's your favorite cocktail drink?");
switch(favDrink) {
  case "Martini":
    text = "Excellent choice! Martini is good for your soul.";
    break;
  case "Daiquiri":
    text = "Daiquiri is my favorite too!";
    break;
  case "Cosmopolitan":
    text = "Really? Are you sure the Cosmopolitan is your favorite?";
    break;
  default:
    text = "I have never heard of that one..";
}

親自試一試

瀏覽器支持

語句 Chrome IE Firefox Safari Opera
switch 支持 支持 支持 支持 支持

相關頁面

JavaScript 教程:JavaScript If...Else 語句

JavaScript 教程:JavaScript Switch 語句

JavaScript 參考手冊:JavaScript if/else 語句

JavaScript 參考手冊:JavaScript break 語句