switch语句是JavaScript的条件语句之一,用于在不同条件下执行不同的动作。
switch语句对表达式求值,将表达式的值与case子句匹配,并执行与该case关联的语句,以及在匹配case之后的语句。
与每个case标签关联的break语句可确保一旦执行了匹配的语句,程序便会退出switch,并在switch之后的语句处继续执行。如果省略break,程序将在switch语句的下一个语句处继续执行。
default语句指定如果没有匹配的情况下,默认运行的一些代码。switch中只能有一个默认语句。尽管这是可选的,但建议您使用它,因为它可以处理意料之外的情况。
使用switch选择要执行的许多代码块之一。这是长嵌套if ... else语句的完美解决方案。
switch (expression) {
  case value1:   //语句执行时
   //表达式匹配的结果 value1
   break;
  case value2:   //语句执行时
   //表达式匹配的结果 value2
   break;
  ...
  case valueN:   //语句执行时
   //表达式匹配的结果 valueN
   break;
  default:   //没有以上情况时执行的语句
   //这些值与表达式的值匹配
   }var city = document.querySelector("input").value;
var text;
switch (city) {
   case "Jaipur":
   text = "Jaipur is known as the Pink City";
   break;
   case "Bengaluru":
   text = "Bengaluru is known as the IT city";
   break;
   case "Kerala": 
   text = "Kerala God's Own Country";
   break;
   default:
   text = "I have never heard of that city...";
}测试看看‹/›所有浏览器都完全支持switch语句:
| Statement |  |  |  |  |  | 
| switch | 是 | 是 | 是 | 是 | 是 | 
| 参数 | 描述 | 
|---|---|
| expression | 一个表达式,其结果与每个case子句匹配。 | 
| case valueN | 用于与表达式匹配的case子句。如果表达式匹配指定的valueN,则执行case子句中的语句,直到switch语句的结尾或break。 | 
| default | (可选)默认子句;如果提供,则如果expression的值与任何case子句都不匹配,则执行此子句。 | 
| JavaScript版本: | ECMAScript 1 | 
|---|
使用工作日编号来计算工作日名称(星期日= 0,星期一= 1,依此类推...):
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 = "Undefined Day";
}测试看看‹/›如果您忘记break,那么脚本将从符合条件的情况开始运行,然后在满足条件的情况下运行情况:
var num = Number(document.querySelector("input").value);
var text;
switch (num) {
   case 1: text = "您输入的号码是 1";
   case 2: text = "您输入的号码是 2";
   case 3: text = "您输入的号码是 3";
   case 4: text = "您输入的号码是 4";
   case 5: text = "您输入的号码是 5";
   default: text = "Default statement executed";
}测试看看‹/›有时,您会希望不同的情况使用相同的代码,或者使用通用代码。
这是单操作switch语句的示例,其中四个不同的值执行的操作完全相同:
var num = Number(document.querySelector("input").value);
var text;
switch (num) {
   case 1:
   case 2:
   case 3:
   case 4:
  text = "您输入的号码是介于 1 - 4";
  break;
   case 5:
   case 6:
   case 7:
   case 8:
  text = "您输入的号码是介于 5 - 8";
  break; 
   default: text = "默认语句被执行";
}测试看看‹/›JavaScript教程:JavaScript If ... Else语句
JavaScript教程:JavaScript switch
JavaScript参考:JavaScript break语句