From 074785cea106179cb3305637055ab0a009ca74f2 Mon Sep 17 00:00:00 2001 From: Peter Bengtsson Date: Tue, 8 Dec 2020 14:42:52 -0500 Subject: initial commit --- .../reference/statements/empty/index.html | 148 +++++++++++++++++++++ 1 file changed, 148 insertions(+) create mode 100644 files/ru/web/javascript/reference/statements/empty/index.html (limited to 'files/ru/web/javascript/reference/statements/empty/index.html') diff --git a/files/ru/web/javascript/reference/statements/empty/index.html b/files/ru/web/javascript/reference/statements/empty/index.html new file mode 100644 index 0000000000..89956bf163 --- /dev/null +++ b/files/ru/web/javascript/reference/statements/empty/index.html @@ -0,0 +1,148 @@ +--- +title: Пустая инструкция +slug: Web/JavaScript/Reference/Statements/Empty +tags: + - 'Statement, инструкция, пустая инструкция' +translation_of: Web/JavaScript/Reference/Statements/Empty +--- +
{{jsSidebar("Statements")}}
+ +

Пустая инструкция используется, когда инструкция не нужна, хотя синтаксис 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}}

+ +
+ + + + + + + + + + + + + + + + + + + +
ВозможностьChromeFirefox (Gecko)Internet ExplorerOperaSafari
Базовая поддержка{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
ВозможностьAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Базовая поддержка{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +

Смотрите также

+ + -- cgit v1.2.3-54-g00ecf