---
title: Инструкции и объявления
slug: Web/JavaScript/Reference/Statements
tags:
- JavaScript
- Reference
- statements
translation_of: Web/JavaScript/Reference/Statements
---
{{jsSidebar("Statements")}}
Приложения на JavaScript состоят из инструкций с соответствующим синтаксисом. Одна инструкция может состоять из нескольких строк. На одной строке может находиться несколько инструкций, если они разделены точкой с запятой. Они являются не ключевыми словами, а группами ключевых слов.
Инструкции и объявления по категориям
Алфавитный список смотрите в боковой панели слева.
Управление потоком выполнения
-
{{jsxref("Statements/block", "Блок", "", 1)}}
-
Блок используется для группировки нуля и более инструкций. Блок отделяется парой фигурных скобок.
-
{{jsxref("Statements/break", "break")}}
-
Прерывает текущую инструкцию цикла, ветвления или инструкцию с меткой и передаёт управление на инструкцию, следующую за прерываемой.
-
{{jsxref("Statements/continue", "continue")}}
-
Прерывает выполнение инструкции в текущей итерации текущего цикла или цикла с меткой и продолжает выполнение цикла со следующей итерации.
-
{{jsxref("Statements/Empty", "Пустая инструкция", "", 1)}}
-
Пустая инструкция используется тогда, когда никакой инструкции быть не должно, а по синтаксису JavaScript она требуется.
-
{{jsxref("Statements/if...else", "if...else")}}
-
Выполняет инструкцию, если указанное условие является истинным. Если условие ложно, выполняет другую инструкцию.
-
{{jsxref("Statements/switch", "switch")}}
-
Вычисляет выражение, сопоставляет вычисленное значение с выражением выбора и выполняет инструкции, ассоциированные с этим выбором.
-
{{jsxref("Statements/throw", "throw")}}
-
Выбрасывает пользовательское исключение.
-
{{jsxref("Statements/try...catch", "try...catch")}}
-
Помечает блок инструкций и определяет реакцию на возникновение исключения внутри помеченного блока инструкций.
Объявления
-
{{jsxref("Statements/var", "var")}}
-
Объявляет переменную, необязательно инициализирует её значением.
-
{{experimental_inline}} {{jsxref("Statements/let", "let")}}
-
Объявляет локальную переменную в области видимости блока, необязательно инициализирует её значением.
-
{{experimental_inline}} {{jsxref("Statements/const", "const")}}
-
Объявляет именованную константу только для чтения.
Функции
-
{{jsxref("Statements/function", "function")}}
-
Объявляет функцию с указанными параметрами.
-
{{experimental_inline}} {{jsxref("Statements/function*", "function*")}}
-
Функции-генераторы, упрощающие написание итераторов.
-
{{jsxref("Statements/return", "return")}}
-
Определяет значение, возвращаемое из функции.
-
{{experimental_inline}} {{jsxref("Statements/yield", "yield")}}
-
Смотрите статьи Что нового в JavaScript 1.7 и Итераторы и генераторы.
Итерации
-
{{jsxref("Statements/do...while", "do...while")}}
-
Создаёт цикл, выполняющий указанную инструкцию до тех пор, пока проверяющее условие равно
false
. Условие вычисляется после выполнения инструкции, так что указанная инструкция выполнится хотя бы один раз.
-
{{jsxref("Statements/for", "for")}}
-
Создаёт цикл, состоящий из трёх необязательных выражений, заключённых в круглые скобки и разделённым точками с запятой с последующей инструкцией, выполняющейся в цикле.
-
{{deprecated_inline}} {{non-standard_inline}} {{jsxref("Statements/for_each...in", "for each...in")}}
-
Проходит указанной переменной по всем значениям свойств объекта. Выполняет инструкции для каждого уникального свойства.
-
{{jsxref("Statements/for...in", "for...in")}}
-
В случайном порядке проходит по перечислимым свойствам объекта. Выполняет инструкции для каждого уникального свойства.
-
{{experimental_inline}} {{jsxref("Statements/for...of", "for...of")}}
-
Проходит по итерируемым объектам (включающим в себя {{jsxref("Global_Objects/Array", "массивы", "", 1)}}, массивоподобные объекты и итераторы с генераторами), выполняя пользовательский хук с инструкциями, исполняющимися для значения каждого уникального свойства.
-
{{jsxref("Statements/while", "while")}}
-
Создаёт цикл, выполняющий указанную инструкцию до тех пор, пока проверяющее условие равно
true
. Условие вычисляется перед выполнением инструкции..
Прочее
-
{{jsxref("Statements/debugger", "debugger")}}
-
Вызывает любую доступную функциональность отладки. Если функциональность отладки не доступна, эта инструкция ничего не делает.
-
{{obsolete_inline}} {{jsxref("Statements/export", "export")}}
-
Используется для экспорта подписанным скриптом свойств, функций и объектов в другие подписанные или неподписанные скрипты. Эта древняя функциональность Netscape была удалена и будет пересмотрена модулями ECMAScript 6.
-
{{obsolete_inline}} {{jsxref("Statements/import", "import")}}
-
Используется для импорта скриптом свойств, функций и объектов из подписанного скрипта, который предоставил эту информацию. Эта древняя функциональность Netscape была удалена и будет пересмотрена модулями ECMAScript 6.
-
{{jsxref("Statements/label", "label")}}
-
Предоставляет инструкцию с идентификатором, на который вы можете сослаться с помощью инструкций
break
или continue
.
-
{{deprecated_inline}} {{jsxref("Statements/with", "with")}}
-
Расширяет цепочку областей видимости инструкции.
Спецификации
Спецификация |
Статус |
Комментарии |
ECMAScript 1-е издание. |
Стандарт |
Изначальное определение. |
{{SpecName('ES5.1', '#sec-12', 'Инструкции')}} |
{{Spec2('ES5.1')}} |
|
{{SpecName('ES6', '#sec-ecmascript-language-statements-and-declarations', 'Язык ECMAScript: инструкции и объявления')}} |
{{Spec2('ES6')}} |
Новое в этой спецификации: {{jsxref("Statements/function*", "function*")}}, {{jsxref("Statements/let", "let")}}, {{jsxref("Statements/for...of", "for...of")}}, {{jsxref("Statements/yield", "yield")}}. |
Смотрите также
- {{jsxref("Operators", "Операторы", "", 1)}}