
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语句




