这篇文章主要介绍了JavaScript中switch语句的用法详解,是JS入门学习中的基础知识,需要的朋友可以参考下
可以使用多个if... else if语句,如前面的章节,执行多路分支。然而,这并不总是最佳的解决方案,尤其是当所有分支的依赖单一的变量的值。
使用JavaScript1.2开始,你可以用它处理的正是这种情况,使用一个switch语句,它这样做更有效,如果不是反复地使用if... else if语句。
语法
switch语句的基本语法给出一个expression ,以评估计算几种不同的语句基于该表达式的值来执行。解释器检查对表达式的值的每一种情况,直到找到一个匹配。如果没有匹配,则缺省(default)条件将被使用。
- switch (expression)
- {
- case condition 1: statement(s)
- break;
- case condition 2: statement(s)
- break;
- ...
- case condition n: statement(s)
- break;
- default: statement(s)
- }
break语句指示的解释器是特定情况下结束。如果它们被省略,则解释器将继续在以下每个情况(case)执行每个语句。
我们将解释break语句在循环控制这一章。
例子:
下面的例子说明了一个基本的while循环:
- <script type="text/javascript">
- <!--
- var grade='A';
- document.write("Entering switch block<br />");
- switch (grade)
- {
- case 'A': document.write("Good job<br />");
- break;
- case 'B': document.write("Pretty good<br />");
- break;
- case 'C': document.write("Passed<br />");
- break;
- case 'D': document.write("Not so good<br />");
- break;
- case 'F': document.write("Failed<br />");
- break;
- default: document.write("Unknown grade<br />")
- }
- document.write("Exiting switch block");
- //-->
- </script>
这将产生以下结果:
- Entering switch block
- Good job
- Exiting switch block
例子:
考虑这样一种情况,如果不使用break语句:
- <script type="text/javascript">
- <!--
- var grade='A';
- document.write("Entering switch block<br />");
- switch (grade)
- {
- case 'A': document.write("Good job<br />");
- case 'B': document.write("Pretty good<br />");
- case 'C': document.write("Passed<br />");
- case 'D': document.write("Not so good<br />");
- case 'F': document.write("Failed<br />");
- default: document.write("Unknown grade<br />")
- }
- document.write("Exiting switch block");
- //-->
- </script>
这将产生以下结果:
- Entering switch block
- Good job
- Pretty good
- Passed
- Not so good
- Failed
- Unknown grade
- Exiting switch block
新闻热点
疑难解答
图片精选