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

Чаще всего этот оператор применяется в клиентском JavaScript, в адресах URL вида JavaScript:, где он позволяет вычислить выражение ради его побочных действий, не отображая в броузере вычисленное значение. Например, оператор

<b>void</b>
можно использовать в HTML-теге <а>:

<b>&lt;а href=&quot;javascript:void window.open();&quot;&gt;0ткрыть новое окно&lt;/а&gt;</b>

Эта разметка HTML была бы более очевидна, если бы вместо URL

<b>javascript:</b>
применялся обработчик события
<b>onclick</b>
, где в использовании оператора void нет никакой необходимости.

4.13.5. Оператор «запятая» (,)

Оператор «запятая» (

<b>,</b>
) является двухместным оператором и может принимать операнды любого типа. Он вычисляет свой левый операнд, вычисляет свой правый операнд и возвращает значение правого операнда. То есть следующая строка:

<b>i=0, j=1, k=2;</b>

вернет значение 2 и практически эквивалентна строке:

<b>і = 0; j=1; k = 2;</b>

Выражение слева вычисляется всегда, но его значение отбрасывается, поэтому применять оператор запятая имеет смысл только ради побочного эффекта левого операнда. Единственным типичным применением оператора запятая является его использование в циклах for (раздел 5.5.3) с несколькими переменными цикла:

<b>// Первая запятая ниже является частью синтаксиса инструкции var</b>

<b>// Вторая запятая является оператором: она позволяет внедрить 2 выражения (i++ и j--)</b>

<b>// в инструкцию (цикл for), которая ожидает 1 выражение. </b>

<b>for(var i=0,j=10; і &lt; j; i++,j --) </b>

<b>  console.log(i+j);</b>

5

Инструкции

В главе 4 выражения были названы фразами языка JavaScript. По аналогии инструкции можно считать предложениями на языке JavaScript, или командами. Как в обычном языке предложения завершаются и отделяются друг от друга точками, так же и инструкции JavaScript завершаются точками с запятой (раздел 2.5). Выражения вычисляются и возвращают значение, а инструкции выполняются, чтобы что-то происходило.

Чтобы «что-то происходило», можно вычислить выражение, имеющее побочные эффекты. Выражения с побочными эффектами, такие как присваивание и вызовы функций, могут играть роль самостоятельных инструкций - при таком использовании их обычно называют инструкциями-выражениями. Похожую категорию инструкций образуют инструкции-объявления, которые объявляют новые переменные и определяют новые функции.

Программы на языке JavaScript представляют собой не более чем последовательности выполняемых инструкций. По умолчанию интерпретатор JavaScript выполняет эти инструкции одну за другой в порядке их следования. Другой способ сделать так, чтобы «что-то происходило», заключается в том, чтобы влиять на этот порядок выполнения по умолчанию, для чего в языке JavaScript имеется несколько инструкций, или управляющих конструкций, специально предназначенных для этого:

Условные инструкции, такие как

<b>if</b>
и
<b>switch</b>
, которые заставляют интерпретатор JavaScript выполнять или пропускать другие инструкции в зависимости от значения выражения.

Инструкции циклов, такие как

<b>while</b>
и
<b>for</b>
, которые многократно выполняют другие инструкции.

Инструкции переходов, такие как

<b>break, return</b>
и
<b>throw</b>
, которые заставляют интерпретатор выполнить переход в другую часть программы.

В разделах, следующих далее, описываются различные инструкции языка JavaScript и их синтаксис. Краткая сводка синтаксиса инструкций приводится в табл. 5.1, в конце главы. Программа на языке JavaScript - это просто последовательность инструкций, разделенных точками с запятой, поэтому, познакомившись с инструкциями JavaScript, вы сможете писать программы на этом языке.

5.1. Инструкции-выражения

Простейший вид инструкций в JavaScript - это выражения, имеющие побочные эффекты. (Загляните в раздел 5.7.3, где описывается инструкция-выражение, не имеющая побочных эффектов.) Инструкции такого рода мы рассматривали в главе 4. Основной категорией инструкций-выражений являются инструкции присваивания. Например:

<b>greeting = &quot;Hello &quot; + name; </b>

<b>і *= 3;</b>

Операторы инкремента и декремента,

<b>++</b>
и
<b>--</b>
схожи с инструкциями присваивания. Их побочным эффектом является изменение значения переменной, как при выполнении присваивания:

<b>counter++;</b>

Оператор

<b>delete</b>
имеет важный побочный эффект - он удаляет свойство объекта. Поэтому он почти всегда применяется как инструкция, а не как часть более сложного выражения:

<b>delete о.х;</b>

Вызовы функций - еще одна большая категория инструкций-выражений. Например:

<b>alert(greeting); </b>

<b>window.close();</b>

Эти вызовы клиентских функций являются выражениями, однако они имеют побочный эффект, заключающийся в воздействии на веб-броузер, поэтому также могут использоваться в качестве инструкций. Если функция не имеет каких-либо побочных эффектов, нет смысла вызывать ее, если только она не является частью более сложного выражения или инструкции присваивания. Например, никто не станет просто вычислять косинус и отбрасывать результат:

<b>Math.cos(x);</b>

Наоборот, надо вычислить значение и присвоить его переменной для дальнейшего использования:

<b>сх = Math.cos(x);</b>

Обратите внимание, что каждая строка в этих примерах завершается точкой с запятой.

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

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