JavaScript Switch-Case语句

Posted by 撒得一地 on 2016年5月3日 in JavaScript教程

你可以使用多个的 if…else…if语句,来实现程序逻辑的多路分支。然而,这并非总是最好的解决方案,尤其是当所有的分支取决于单个变量的值的时候。

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

流程图

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

Switch-Case语句流程图

语法

Switch 语句的目标是首先提供一个表达式,然后再基于表达式可能的值来执行不同的语句。翻译器检查表达式的值,然后对每种情况进行匹配,直到找到一个匹配。如果什么都不匹配,将使用默认情况。

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 被省略,解释器会继续执行后面情况下的每个语句。

我们将在循环章节介绍 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>

亲自试一试

Output
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>

亲自试一试

Output
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...

上一篇:

下一篇:

相关推荐

网站地图|XML地图

Copyright © 2015-2024 技术拉近你我! All rights reserved.
闽ICP备15015576号-1 版权所有©psz.