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

5.2. Составные и пустые инструкции

5.2. Составные и пустые инструкции

Подобно оператору запятой (раздел 4.13.5), объединяющему несколько выражений в одно выражение, блок инструкций позволяет объединить несколько инструкций в одну составную инструкцию. Блок инструкций - это просто последовательность инструкций, заключенная в фигурные скобки. Таким образом, следующие строки рассматриваются как одна инструкция и могут использоваться везде, где интерпретатор JavaScript требует наличия единственной инструкции:

{
  х = Math.PI;
  сх = Math.cos(x);
  console. log("cos(7t) = " + сх);
}

Здесь есть несколько аспектов, на которые следует обратить внимание. Во-первых, составная инструкция не завершается точкой с запятой. Отдельные инструкции внутри блока завершаются точками с запятой, однако сам блок - нет. Во-вторых, строки внутри блока оформлены с отступами относительно фигурных скобок, окружающих их. Это не является обязательным требованием, но подобное оформление программного кода упрощает его чтение и понимание. Наконец, напомню, что в языке JavaScript не поддерживается область видимости блока, поэтому переменные, объявленные внутри блока, не являются частными по отношению к этому блоку (подробности смотрите в разделе 3.10.1).

Объединение инструкций в более крупные блоки инструкций используется в языке JavaScript повсеместно. Подобно тому как выражения часто включают другие подвыражения, многие инструкции JavaScript могут содержать другие инструкции. Формальный синтаксис языка JavaScript обычно позволяет использовать не более одной подынструкции. Например, синтаксис инструкции цикла while включает единственную подынструкцию, которая служит телом цикла. Блоки инструкций позволяют помещать любое количество инструкций там, где требуется наличие единственной подынструкции.

Составные инструкции позволяют использовать множество инструкций там, где синтаксис JavaScript допускает только одну инструкцию. Пустая инструкция действует противоположным образом: она позволяет не вставлять инструкции там, где они необходимы. Пустая инструкция имеет следующий вид:

Встретив пустую инструкцию, интерпретатор JavaScript не выполняет никаких действий. Пустая инструкция может оказаться полезной, когда требуется создать цикл с пустым телом. Взгляните на следующий цикл for (циклы for будут рассматриваться в разделе 5.5.3):

// Инициализировать массив а
for(i = 0; і < a.length; a[i++] = 0) ;

В этом цикле вся работа выполняется выражением a[i++] = 0, и тело цикла здесь не требуется. Однако синтаксис JavaScript требует, чтобы цикл имел тело, поэтому здесь использована пустая инструкция - просто точка с запятой.

Обратите внимание, что ошибочное добавление точки с запятой после закрывающей круглой скобки в инструкции for, while или if может вызывать появление досадных ошибок, которые сложно обнаружить. Например, следующий фрагмент наверняка будет делать не совсем то, что предполагал автор:

if ((а == 0) || (Ь == 0)); // Ой! Эта строка ничего не делает...
о = null;                  // а эта будет выполняться всегда.

Если вы собираетесь намеренно использовать пустую инструкцию, нелишним будет добавить комментарий, поясняющий ваши намерения. Например:

for(i = 0; і < a.length; a[i++] = 0) /* пустое тело цикла */;

Оглавление книги


Генерация: 0.422. Запросов К БД/Cache: 3 / 0
поделиться
Вверх Вниз