Пустая инструкция используется, когда инструкция не нужна, хотя синтаксис JavaScript будет предполагать её.
Синтаксис
;
Описание
Пустая инструкция - точка с запятой (;) оповещает о том, что ни одно выражение не будет выполняться, даже если синтаксис JavaScript ожидает этого.
Противоположное поведение, где вы хотите использовать несколько заявлений, но JavaScript позволяет только одно, можно сделать используя блок; он комбинирует несколько инструкций в одно.
Примеры
Пустая инструкция используется в выражениях циклов. Смотрите следующий пример с пустым телом цикла:
var arr = [1, 2, 3]; // Приравняет все значения массива к 0 for (i = 0; i < arr.length; arr[i++] = 0) /* выражения */ ; console.log(arr) // [0, 0, 0]
Заметьте: Это хорошая идея: комментировать намеренное использование пустых инструкций, т.к. не очевидно отличить их от нормальной точки с запятой. В следующем примере использование, вероятно, ненамеренное:
if (condition); // Внимание, этот if ничего не делает! killTheUniverse() // Это всегда выполняется!!!
Другой пример: if...else без фигурных скобок ({}). Если three истинно, ничего не пройзойдет, four не важна, и функция launchRocket() тоже не запустится.
if (one) doOne(); else if (two) doTwo(); else if (three) ; // nothing here else if (four) doFour(); else launchRocket();
Спецификации
| Спецификация | Статус | Комментарий |
|---|---|---|
| ECMAScript (ECMA-262) Определение 'Empty statement' в этой спецификации. |
Живой стандарт | |
| ECMAScript 2015 (6th Edition, ECMA-262) Определение 'Empty statement' в этой спецификации. |
Стандарт | |
| ECMAScript 5.1 (ECMA-262) Определение 'Empty statement' в этой спецификации. |
Стандарт | |
| ECMAScript 3rd Edition (ECMA-262) Определение 'Empty statement' в этой спецификации. |
Стандарт | |
| ECMAScript 1st Edition (ECMA-262) Определение 'Empty statement' в этой спецификации. |
Стандарт | Изначальное определение |
Поддержка браузерами
| Возможность | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari |
|---|---|---|---|---|---|
| Базовая поддержка | (Да) | (Да) | (Да) | (Да) | (Да) |
| Возможность | Android | Chrome for Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
|---|---|---|---|---|---|---|
| Базовая поддержка | (Да) | (Да) | (Да) | (Да) | (Да) | (Да) |