Литерал объекта
Самый простой способ создать объект заключается во включении в программу литерала объекта.
Литерал объекта - это заключенный в фигурные скобки список свойств (пар имя/значение), разделенных запятыми.
Именем свойства может быть идентификатор или строковый литерал (допускается использовать пустую строку). Значением свойства может быть любое выражение, допустимое в JavaScript, – значение выражения (это может быть простое значение или объект) станет значением свойства. Ниже приводится несколько примеров создания объектов:
var empty = {}; // Объект без свойств
var point = { x:0, y:0 }; // Два свойства
var point2 = { x:point.x, y:point.y+1 }; // Более сложные значения
var book = {
"main title": "JavaScript", // Имена свойств с пробелами
'sub-title': "The Definitive Guide", // и дефисами, поэтому используются строковые литералы
"for": "all audiences", // for - зарезервированное слово, поэтому в кавычках
author: { // Значением этого свойства является
firstname: "David", // объект. Обратите внимание, что
surname: "Flanagan" // имена этих свойств без кавычек.
}
};
В ECMAScript 5 последняя запятая, следующая за последним свойством в литерале объекта, игнорируется. В боль- шинстве реализаций ECMAScript 3 завершающие запятые также игнорируются, но IE интерпретирует их наличие как ошибку.
Литерал объекта - это выражение, которое создает и инициализирует новый объект всякий раз, когда производится вычисление этого выражения. Значение каждого свойства вычисляется заново, когда вычисляется значение литерала. Это означает, что с помощью единственного литерала объекта можно создать множество новых объектов, если этот литерал поместить в тело цикла или функции, которая будет вызываться многократно, и что значения свойств этих объектов могут отличаться друг от друга.