--- title: Пустая инструкция slug: Web/JavaScript/Reference/Statements/Empty tags: - 'Statement, инструкция, пустая инструкция' translation_of: Web/JavaScript/Reference/Statements/Empty ---
Пустая инструкция используется, когда инструкция не нужна, хотя синтаксис 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();
Спецификация | Статус | Комментарий |
---|---|---|
{{SpecName('ESDraft', '#sec-empty-statement', 'Empty statement')}} | {{Spec2('ESDraft')}} | |
{{SpecName('ES6', '#sec-empty-statement', 'Empty statement')}} | {{Spec2('ES6')}} | |
{{SpecName('ES5.1', '#sec-12.3', 'Empty statement')}} | {{Spec2('ES5.1')}} | |
{{SpecName('ES3', '#sec-12.3', 'Empty statement')}} | {{Spec2('ES3')}} | |
{{SpecName('ES1', '#sec-12.3', 'Empty statement')}} | {{Spec2('ES1')}} | Изначальное определение |
{{CompatibilityTable}}
Возможность | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|
Базовая поддержка | {{CompatVersionUnknown}} | {{CompatVersionUnknown}} | {{CompatVersionUnknown}} | {{CompatVersionUnknown}} | {{CompatVersionUnknown}} |
Возможность | Android | Chrome for Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|---|
Базовая поддержка | {{CompatVersionUnknown}} | {{CompatVersionUnknown}} | {{CompatVersionUnknown}} | {{CompatVersionUnknown}} | {{CompatVersionUnknown}} | {{CompatVersionUnknown}} |