JavaScript switch 语句专门用来设计多分支条件结构。与 else/if 多分支结构相比,switch 结构更简洁,执行效率更高。本文章向大家介绍JavaScript switch 语句基本语法和使用实例。
除了if ... else之外,JavaScript还有一个称为switch语句的功能。 switch是一种条件语句,它将针对多种可能的情况评估表达式,并根据匹配的情况执行一个或多个代码块。 switch语句与包含许多其他if块的条件语句密切相关,并且它们通常可以互换使用。
在本教程中,我们将学习如何使用switch语句,以及如何使用相关的关键字case,break和default。 最后,我们将介绍如何在switch语句中使用多个case。
o_O
流程图
switch 语句根据表达式 expr 的值,依次与 case 后表达式的值进行比较,如果相等,则执行其后的语句段,只有遇到 break 语句,或者 switch 语句结束才终止;如果不相等,则继续查找下一个 case。switch 语句包含一个可选的 default 语句,如果在前面的 case 中没有找到相等的条件,则执行 default 语句,它与 else 语句类似。
switch 语句流程控制示意如图所示:
语法
JavaScript中switch语句的语法为:
switch (expr) {
case value1:
// statements to execute when expr matches value1
break;
case value2:
// statements to execute when expr matches value2
break;
case value_n:
// statements to execute when expr matches value_n
break;
default:
// statements to execute when expr does not match any of the values
}
参数说明
- expr 一个表达式,其值与一组值(即:value1,value2,... value_n)进行比较。
- value1,value2,...value_n 这些是与expr比较的值。这些值前面带有case关键字,并按列出的顺序进行判断。一旦值与expr匹配,switch语句将执行相应的语句。重要的是要注意,switch语句使用===运算符执行比较,这意味着expr必须等于该值以及相同的数据类型才能被视为匹配项。
- break 可选的。break语句通常出现在每个代码块的末尾。它用于终止switch语句。这意味着switch语句中的其他值将不会与expr进行比较。如果不包含break语句,JavaScript将继续评估switch语句中的下一个值,您可能会得到意外的结果。
- default 可选的。如果没有任何值(即value1,value2,.. value_n)与expr没有匹配,则将执行该代码块。如果在switch语句的末尾找到了默认标签,则不必包括break语句。
注意事项
- switch语句将执行与expr匹配的第一个值的代码块。break语句将结束该switch块,switch语句终止EXPR。
- 如果没有值与expr匹配,则将执行switch语句default部分中的代码块(如果存在)。
例子
以下是在JavaScript中使用switch语句的示例:
// Set the TechOnTheNet technology to JavaScript
var totn_technology = 'JavaScript';
switch (totn_technology) {
case 'SQL':
console.log('TechOnTheNet SQL');
break;
case 'JavaScript':
console.log('TechOnTheNet JavaScript');
break;
default:
console.log('Other TechOnTheNet technologies');
}
在这个switch语句示例中,代码将根据totn_technology变量的值执行不同的语句。由于totn_technology变量已设置为字符串“ JavaScript”,因此将执行与case 'JavaScript'
关联的语句。
在此示例中,以下内容将输出到Web浏览器控制台:
TechOnTheNet JavaScript
共享代码块
在JavaScript中,您还可以在值之间共享代码块。
例如:
// Set the TechOnTheNet technology to JavaScript
var totn_technology = 'JavaScript';
switch (totn_technology) {
case 'SQL':
console.log('TechOnTheNet SQL');
break;
case 'JavaScript':
case 'HTML':
console.log('TechOnTheNet Web Development');
break;
default:
console.log('Other TechOnTheNet technologies');
}
在此示例中,值“ JavaScript”和“ HTML”共享一个代码块。由于totn_technology变量已设置为字符串'JavaScript',所以switch语句将执行此共享代码块并将以下内容输出到Web浏览器控制台:
TechOnTheNet Web Development