Хелпикс

Главная

Контакты

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





Инструкция return. Синтаксис. return [здесь нет КонцаСтроки] Выражениеопц ;. Семантика. Инструкция with. Синтаксис. Описание



12.9 Инструкция return

Синтаксис

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

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

Семантика

Программа считается синтаксически некорректной, если она содержит инструкцию return вне ТелаФункции. Инструкция return заставляет функцию прекратить своё выполнение и вернуть значение вызывающему. Если Выражение опущено, возвращается значение undefined. В прочих случаях возвращается значение Выражения.

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

1. Если Выражение опущено - вернуть (return, undefined, empty).

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

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

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

12.10 Инструкция with

Синтаксис

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

with ( Выражение ) Инструкция

Описание

Инструкция with добавляет вычисленный объект к началу иерархии областей видимостей текущего контекста исполнения, выполняет инструкцию с новой иерархией областей видимостей и затем восстанавливает иерархию в первоначальный вид.

Семантика

Значение нетерминала ИнструкцияWith : with ( Выражение ) Инструкция вычисляется по следующей схеме:

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

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

3. Вызвать ToObject(Результат(2)).

4. Добавить Результат(3) к началу иерархии областей видимости.

5. Вычислить значение Инструкции, используя изменённую иерархию областей видимости с шага 4.

6. Пусть C = Результат(5). Если на шаге 5 было брошено исключение, приравнять C = (throw, V, empty), где V - брошенное исключение. (Далее выполнение продолжается, как будто исключения брошено не было.)

7. Убрать Результат(3) из начала иерархии областей видимости.

8. Вернуть C.

ЗАМЕЧАНИЕ
Каким бы образом управление не покинуло вложенную 'Инструкцию': нормальным путём, неожиданным завершением или бросив исключение - иерархия областей видимости всегда возвращается к первоначальному состоянию
.



  

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