Хелпикс

Главная

Контакты

Случайная статья





Инструкции с метками. Синтаксис. Семантика. Инструкция throw. Синтаксис. Семантика



12.12 Инструкции с метками

Синтаксис

ИнструкцияСМеткой :

Идентификатор : Инструкция

Семантика

Перед Инструкцией может быть указана метка. Инструкции с метками используются только совместно с инструкциями break и continue, для которых были указаны метки перехода. В ECMAScript нет оператора goto.

Программа на ECMAScript считается синтаксически некорректной, если она содержит ИнструкциюСМеткой, которая находится внутри ИнструкцииСМеткой с таким же Идентификатором в качестве метки. Исключение составляют метки, содержащиеся внутри ОбъявленийФункций, находящихся внутри инструкций с метками.

Значение нетерминала Идентификатор : Инструкция вычисляется путём добавления Идентификатора к набору меток Инструкции и затем вычисления Инструкции. Если у ИнструкцииСМеткой уже есть непустой набор меток, эти метки тоже добавляются к набору меток Инструкции перед вычислением её значения. Если результат вычисления значения Инструкции равен (break, V, L), где L равно Идентификатору, результатом вычисления нетерминала становится (normal, V, empty).

Перед вычислением значения ИнструкцииСМеткой, содержащаяся в ней Инструкция считается содержащей пустое множество меток, кроме тех случаев, когда это ИнструкцияИтерации или ИнструкцияSwitch. Тогда она считается имеющей множество меток, состоящее из одного элемента пусто.

12.13 Инструкция throw

Синтаксис

ИнструкцияThrow :

throw [здесь нет КонцаСтроки] Выражение ;

Семантика

Значение нетерминала ИнструкцияThrow : throw [здесь нет КонцаСтроки] Выражение ; вычисляется по следующей схеме:

1. Вычислить значение Выражения.

2. Вызвать ПолучитьЗначение(Результат(1)).

3. Вернуть (throw, Результат(2), empty).



  

© helpiks.su При использовании или копировании материалов прямая ссылка на сайт обязательна.