Mir-knigi.online
Книги онлайн читать бесплатно!
  • Главная
  • Жанры
  • ТОП книг
  • ТОП авторов
  • Контакты

JavaScript. Подробное руководство, 6-е издание

Часть 50 из 535 Информация о книге

<b>else if (n == 2) {</b>

<b>  // Выполнить блок 2</b>

<b>}</b>

<b>else if (n == 3) {</b>

<b>  // Выполнить блок З</b>

<b>}</b>

<b>else {</b>

<b>  // Если ни одна из предыдущих инструкций else не была выполнена, выполнить блок 4</b>

<b>}</b>

В этом фрагменте нет ничего особенного. Это просто последовательность инструкций

<b>if</b>
, где каждая инструкция
<b>if</b>
является частью конструкции
<b>else</b>
предыдущей инструкции. Стиль else if предпочтительнее и понятнее записи в синтаксически эквивалентной форме, полностью показывающей вложенность инструкций:

<b>if (n == 1) {</b>

<b>  // Выполнить блок 1</b>

<b>}</b>

<b>else {</b>

<b>  if (n == 2) {</b>

<b>    // Выполнить блок 2</b>

<b>  }</b>

<b>  else {</b>

<b>    if (n == 3) {</b>

<b>      // Выполнить блок З</b>

<b>    }</b>

<b>    else {</b>

<b>      // Если ни одна из предыдущих инструкций else // не была выполнена, выполнить блок 4</b>

<b>    }</b>

<b>  }</b>

<b>}</b>

5.4.3. Инструкция switch

Инструкция

<b>if</b>
создает ветвление в потоке выполнения программы, а многопозиционное ветвление можно реализовать посредством нескольких инструкций
<b>else if</b>
. Однако это не всегда наилучшее решение, особенно если все ветви зависят от значения одного и того же выражения. В этом случае расточительно повторно вычислять значение одного и того же выражения в нескольких инструкциях
<b>if</b>
.

Инструкция

<b>switch</b>
предназначена именно для таких ситуаций. За ключевым словом
<b>switch</b>
следует выражение в скобках и блок кода в фигурных скобках:

<b>switch(выражение) {</b>

<b>  инструкции</b>

<b>}</b>

Однако полный синтаксис инструкции

<b>switch</b>
более сложен, чем показано здесь. Различные места в блоке помечены ключевым словом
<b>case</b>
, за которым следует выражение и символ двоеточия. Ключевое слово
<b>case</b>
напоминает инструкцию с меткой за исключением того, что оно связывает инструкцию с выражением, а не с именем. Когда выполняется инструкция
<b>switch</b>
, она вычисляет значение выражения, а затем ищет метку
<b>case</b>
, соответствующую этому значению (соответствие определяется с помощью оператора идентичности
<b>===</b>
). Если метка найдена, выполняется блок кода, начиная с первой инструкции, следующей за меткой
<b>case</b>
. Если метка
<b>case</b>
с соответствующим значением не найдена, выполнение начинается с первой инструкции, следующей за специальной меткой
<b>default:</b>
. Если метка
<b>default:</b>
отсутствует, блок инструкции
<b>switch</b>
пропускается целиком.

Работу инструкции

<b>switch</b>
сложно объяснить на словах, гораздо понятнее выглядит объяснение на примере. Следующая инструкция
<b>switch</b>
эквивалентна повторяющимся инструкциям
<b>if/else</b>
, показанным в предыдущем разделе:

<b>switch(n) {</b>

<b>case 1: // Выполняется, если п === 1</b>

<b>  // Выполнить блок 1. </b>

<b>  break; // Здесь остановиться </b>

<b>case 2: // Выполняется, если п === 2</b>

<b>  // Выполнить блок 2. </b>

<b>  break; // Здесь остановиться </b>

<b>case 3: // Выполняется, если п === 3</b>

<b>  // Выполнить блок 3. </b>

<b>  break; // Здесь остановиться</b>

<b>default: // Если все остальное не подходит...</b>

<b>  // Выполнить блок 4. </b>

<b>  break; // Здесь остановиться</b>

<b>}</b>

Обратите внимание на ключевое слово

<b>break</b>
в конце каждого блока
<b>case</b>
. Инструкция
<b>break</b>
, описываемая далее в этой главе, приводит к передаче управления в конец инструкции
<b>switch</b>
и продолжению выполнения инструкций, следующих далее. Конструкции
<b>case</b>
в инструкции
<b>switch</b>
задают только начальную точку выполняемого программного кода, но не задают никаких конечных точек. В случае отсутствия инструкций
<b>break</b>
инструкция
<b>switch</b>
начнет выполнение блока кода с меткой
<b>case</b>
, соответствующей значению выражения, и продолжит выполнение инструкций до тех пор, пока не дойдет до конца блока. В редких случаях это полезно для написания программного кода, который переходит от одной метки
<b>case</b>
к следующей, но в 99% случаев следует аккуратно завершать каждый блок
<b>case</b>
инструкцией
<b>break</b>
. (При использовании
<b>switch</b>
внутри функции вместо
<b>break</b>
можно использовать инструкцию
<b>return</b>
. Обе эти инструкции служат для завершения работы инструкции
<b>switch</b>
и предотвращения перехода к следующей метке case.)


Перейти к странице:
Предыдущая страница
Следующая страница
Жанры
  • Военное дело
  • Деловая литература
  • Детективы и триллеры
  • Детские
  • Детские книги
  • Документальная литература
  • Дом и дача
  • Дом и Семья
  • Жанр не определен
  • Зарубежная литература
  • Знания и навыки
  • История
  • Компьютеры и Интернет
  • Легкое чтение
  • Любовные романы
  • Научно-образовательная
  • Образование
  • Поэзия и драматургия
  • Приключения
  • Проза
  • Прочее
  • Психология и мотивация
  • Публицистика и периодические издания
  • Религия и духовность
  • Родителям
  • Серьезное чтение
  • Спорт, здоровье и красота
  • Справочная литература
  • Старинная литература
  • Техника
  • Фантастика и фентези
  • Фольклор
  • Хобби и досуг
  • Юмор
Mir-knigi.online

Бесплатная онлайн библиотека для чтения книг без регистрации с телефона или компьютера. У нас собраны последние новинки, мировые бестселлеры книжного мира.

Контакты
  • [email protected]
Информация
  • Карта сайта
© mir-knigi.online, 2026. | Вход