Вы можете использовать несколько команд if ... else ... if, как и в предыдущей главе, для выполнения многострочной ветви. Однако это не всегда лучшее решение, особенно когда все ветви зависят от значения одной переменной. Начиная с JavaScript 1.2, вы можете использовать оператор switch, который обрабатывает именно эту ситуацию, и делает это более эффективно, чем if ... else if.

Блок-схема

В следующей блок-схеме объясняется работа оператора switch-case.

JavaScript - 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 указывают конец конкретного случая. Если они были опущены, интерпретатор будет продолжать выполнять каждое утверждение в каждом из следующих случаев.

пример

Попробуйте следующий пример, чтобы реализовать оператор switch-case.

<html>
   <body>
  
      <script type="text/javascript">
         <!--
            var grade='A';
            document.write("Entering switch block
");
            switch (grade)
            {
               case 'A': document.write("Good job
");
               break;
           
               case 'B': document.write("Pretty good
");
               break;
           
               case 'C': document.write("Passed
");
               break;
           
               case 'D': document.write("Not so good
");
               break;
           
               case 'F': document.write("Failed
");
               break;
           
               default:  document.write("Unknown grade
")
            }
            document.write("Exiting switch block");
         //-->
      </script>
     
    
   </body>
</html>
Результат
Entering switch block
Good job
Exiting switch block

Операторы break играют важную роль в операторах case-case. Попробуйте использовать следующий код, который использует оператор switch-case без инструкции break.

<html>
   <body>
     
      <script type="text/javascript">
         <!--
            var grade='A';
            document.write("Entering switch block
");
            switch (grade)
            {
               case 'A': document.write("Good job
");
               case 'B': document.write("Pretty good
");
               case 'C': document.write("Passed
");
               case 'D': document.write("Not so good
");
               case 'F': document.write("Failed
");
               default: document.write("Unknown grade
")
            }
            document.write("Exiting switch block");
         //-->
      </script>
     
      
   </body>
</html>
Результат
Entering switch block
Good job
Pretty good
Passed
Not so good
Failed
Unknown grade
Exiting switch block

Понравилась статья? Поделитесь ею с друзьями и напишите отзыв в комментариях!




Cookies make it easier for us to provide you with our services. With the usage of our services you permit us to use cookies.
Ok