Клиентский JavaScript 1.3 Руководство

Использование инициализаторов объектов



Использование инициализаторов объектов

Помимо создания объектов с использованием функции-конструктора, Вы можете создавать объекты с использованием инициализатора объекта. Использование инициализаторов объектов иногда называют созданием объектов с помощью литеральной нотации. "Инициализатор объекта" составлен в терминологии C++.

Синтаксис объекта, использующего инициализатор объекта, таков:

objectName = {property1:value1, property2:value2,..., propertyN:valueN}

где objectName это имя нового объекта, каждое propertyI это идентификатор (имя, число или строковой литерал), а каждое valueI  это выражение, значение которого присваивается свойству propertyI.

objectName и присвоение не обязательны. Если Вам не нужно ссылаться на данный объект, Вы можете не присваивать его переменной.

Если объект создаётся инициализатором в скрипте верхнего уровня, JavaScript интерпретирует этот объект всякий раз при вычислении выражения, содержащего литерал объекта. К тому же инициализатор, используемый в функции, создаётся при каждом вызове функции.

Этот оператор создаёт объект и присваивает его переменной x, если, и только если, выражение cond - true.

if (cond) x = {hi:"there"}

Следующий пример создаёт myHonda с тремя свойствами. Заметьте, что свойство engine является также объектом со своими собственными свойствами.

myHonda = {color:"red",wheels:4,engine:{cylinders:4,size:2.2}}

Вы можете также использовать инициализаторы объектов для создания массивов. См. "Литералы Массива".

JavaScript 1.1 и предыдущие версии.

Вы не можете использовать инициализаторы объектов. Вы можете создавать объекты только путём использования функций-конструкторов или функцией, предоставляемой другим объектом для этой цели. См. "Использование Функции-Конструктора".



Содержание раздела