JavaScript Switch Case语句

JavaScript Switch Case语句

您可以使用多个 if…else…if 语句来执行多路分支,就像前一章所示。但是,这并不总是最好的解决方案,特别是当所有分支都依赖于单个变量的值时。

JavaScript 1.2开始,您可以使用 switch 语句来处理这种情况,而且它比重复的 if…else if 语句更高效。

流程图

以下流程图解释了switch-case语句的工作原理。

JavaScript Switch Case语句

语法

switch语句的目的是给出一个表达式进行评估,并根据表达式的值执行多个不同的语句。 解释器将每个case与表达式的值进行对比,直到找到匹配项。 如果没有匹配项,则使用默认条件。

switch (expression) {
   case condition 1: statement(s)
   break;

   case condition 2: statement(s)
   break;
   ...

   case condition n: statement(s)
   break;

   default: statement(s)
}

break 语句表示了特定情况的结束。如果省略了它们,解释器将会继续执行后续情况中的每个语句。

我们将在 循环控制 章节中解释 break 语句。

示例

尝试以下示例来实现switch-case语句。

<html>
   <body>   
      <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>      
      <p>Set the variable to different value and then try...</p>
   </body>
</html>

输出

Entering switch block
Good job
Exiting switch block
Set the variable to different value and then try...

break语句在switch-case语句中起着重要的作用。请尝试下面的代码,该代码使用switch-case语句但没有任何break语句。

<html>
   <body>      
      <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>      
      <p>Set the variable to different value and then try...</p>
   </body>
</html>

输出

Entering switch block
Good job
Pretty good
Passed
Not so good
Failed
Unknown grade
Exiting switch block
Set the variable to different value and then try...

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程