目录

JavaScript Switch 语句

示例

根据用户输入执行一段代码:

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...";
}
亲自试一试 »

下面有更多 "亲自试一试" 示例。


描述

switch 语句根据不同的情况执行一段代码。

switch 语句是 JavaScript 的 "Conditional" 语句的一部分,用于根据不同的条件执行不同的操作。使用 switch 选择要执行的多个代码块之一。这是长嵌套的完美解决方案If...Else声明。

switch 语句计算一个表达式。然后将表达式的值与结构中每种情况的值进行比较。如果存在匹配,则执行关联的代码块。

switch 语句通常与break 或default 关键字(或两者)一起使用。这些都是可选的:

这个休息关键字突破 switch 块。这将停止块内更多代码的执行和/或案例测试。如果省略break,则执行switch 语句中的下一个代码块。

这个默认关键字指定在没有大小写匹配的情况下要运行的一些代码。一个 switch 中只能有一个默认关键字。尽管这是可选的,但建议您使用它,因为它可以处理意外情况。


语法

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

参数值

Parameter Description
expression Required. Specifies an expression to be evaluated. The expression is evaluated once. The value of the expression is compared with the values of each case labels in the structure. If there is a match, the associated block of code is executed


更多示例

示例

使用今天的工作日数字来计算工作日名称(星期日=0,星期一=1,星期二=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";
}
亲自试一试 »

示例

有时您会希望不同的情况使用相同的代码,或者直接使用通用的默认值。

请注意,在此示例中,这些情况共享相同的代码块,并且默认情况不必是 switch 块中的最后一个情况(但是,如果默认不是 switch 块中的最后一个情况,请记住以中断结束它)。

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..";
}
亲自试一试 »

相关页面

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

JavaScript 教程:JavaScript Switch 语句

JavaScript 参考:JavaScript if/else 语句

JavaScript 参考:JavaScript 中断语句


浏览器支持

switch是 ECMAScript1 (ES1) 功能。

所有浏览器均完全支持 ES1 (JavaScript 1997):

Chrome Edge Firefox Safari Opera IE
Yes Yes Yes Yes Yes Yes