Хелпикс

Главная

Контакты

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





Выражение переменной. Синтаксис. var СписокОбъявленияПеременных ;. Описание. Семантика



12.2 Выражение переменной

Синтаксис

ИнструкцияПеременной :

var СписокОбъявленияПеременных ;

СписокОбъявленияПеременных :

ОбъявлениеПеременной
СписокОбъявленияПеременных
, ОбъявлениеПеременной

СписокОбъявленияПеременныхБезIn :

ОбъявлениеПеременнойБезIn
СписокОбъявленияПеременныхБезIn
, ОбъявлениеПеременнойБезIn

ОбъявлениеПеременной :

Идентификатор Инициализаторопц

ОбъявлениеПеременнойБезIn :

Идентификатор ИнициализаторБезInопц

Инициализатор :

= ВыражениеПрисваивания

ИнициализаторБезIn :

= ВыражениеПрисваиванияБезIn

Описание

Если инструкция переменной встречается внутри ОбъявленияФункции, переменные объявляются внутри локальной области видимости для данной функции согласно описанию в разделе 10.1.3. В противном случае они объявляются в глобальной области видимости (т.е. создаются как поля глобального объекта согласно описанию в разделе 10.1.3) с использованием атрибутов свойств { DontDelete }. Переменные создаются, когда происходит вход в область выполнения. Блок не определяет новой области выполнения. Только Программа и ОбъявлениеФункции создают новую область видимости. Переменные инициализируются при создании значением undefined. Переменной, для которой определён Инициализатор, присваивается значение его ВыраженияПрисваивания в момент выполнения ИнструкцииПеременной, а не в момент создания переменной.

Семантика

Значение нетерминала ИнструкцияПеременной : var СписокОбъявленияПеременных ; вычисляется по следующей схеме:

1. Вычислить значение СпискаОбъявленияПеременных.

2. Вернуть (normal, empty, empty).

Значение нетерминала СписокОбъявленияПеременных :ОбъявлениеПеременной вычисляется по следующей схеме:

1. Вычислить значение ОбъявленияПеременной.

Значение нетерминала СписокОбъявленияПеременных : СписокОбъявленияПеременных , ОбъявлениеПеременной вычисляется по следующей схеме:

1. Вычислить значение СпискаОбъявленияПеременных.

2. Вычислить значение ОбъявленияПеременной.

Значение нетерминала ОбъявлениеПеременной : Идентификатор вычисляется по следующей схеме:

1. Вернуть строковое значение, содержащее ту же последовательность символов, что и Идентификатор.

Значение нетерминала ОбъявлениеПеременной : Идентификатор Инициализатор вычисляется по следующей схеме:

1. Вычислить значение Идентификатора согласно описанию в разделе 11.1.2.

2. Вычислить значение Инициализатора.

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

4. Вызвать ЗаписатьЗначение(Результат(1), Результат(3)).

5. Вернуть строковое значение, содержащее ту же последовательность символов, что и Идентификатор.

Значение нетерминала Инициализатор : = ВыражениеПрисваивания вычисляется по следующей схеме:

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

2. Вернуть Результат(1).

Значения нетерминалов СписокОбъявленияПеременныхБезIn, ОбъявлениеПеременнойБезIn и ИнициализаторБезIn вычисляются по той же схеме, что и СписокОбъявленияПеременных, ОбъявлениеПеременной и Инициализатор за исключением того, что значение вложенных СпискаОбъявленияПеременныхБезIn, ОбъявленияПеременнойБезIn, ИнициализатораБезIn и ВыраженияПрисваиванияБезIn вычисляются соответственно вместо вложенных СпискаОбъявленияПеременных, ОбъявленияПеременной, Инициализатора и ВыраженияПрисваивания.



  

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