Использование инициализаторов объектов
Помимо создания объектов с использованием функции-конструктора, Вы можете создавать объекты с использованием инициализатора объекта. Использование инициализаторов объектов иногда называют созданием объектов с помощью литеральной нотации. "Инициализатор объекта" составлен в терминологии 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 и предыдущие версии.
Вы не можете использовать инициализаторы объектов. Вы можете создавать объекты только путём использования функций-конструкторов или функцией, предоставляемой другим объектом для этой цели. См. "Использование Функции-Конструктора".