Вы можете использовать несколько команд 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



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

We use cookies on our website. Some of them are essential for the operation of the site, while others help us to improve this site and the user experience (tracking cookies). You can decide for yourself whether you want to allow cookies or not. Please note that if you reject them, you may not be able to use all the functionalities of the site.

Ok