JavaScript switch 语句
实例
根据用户输入执行代码块:
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 的"条件"语句的一部分,用于根据不同的条件执行不同的操作。使用 switch 选择要执行的许多代码块之一。这是长的嵌套 if/else 语句的完美解决方案。
switch 语句计算表达式。然后将表达式的值与结构中每个 case 的值进行比较。如果匹配,则执行关联的代码块。
switch 语句通常与 break 或 default 关键字(或两者)一起使用。这些都是可选的:
break 关键字脱离 switch 块。这将停止在块内执行更多代码和/或案例测试。如果省略 break,则执行 switch 语句中的下一个代码块。
如果没有 case 匹配,default 关键字指定要运行的一些代码。一个 switch 中只能有一个 default 关键字。尽管其是可选的,但建议您使用它,因为它可以处理意外情况。
浏览器支持
Statement | |||||
---|---|---|---|---|---|
switch | Yes | Yes | Yes | Yes | Yes |
语法
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, ...):
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";
}
实例
如果今天既不是星期六也不是星期日,写一条默认消息:
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 结束它)。
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 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 break 语句