Книга: JavaScript. Подробное руководство, 6-е издание

6.1.1. Литералы объектов

6.1.1. Литералы объектов

Самый простой способ создать объект заключается во включении в программу литерала объекта. Литерал объекта - это заключенный в фигурные скобки список свойств (пар имя/значение), разделенных запятыми. Именем свойства может быть идентификатор или строковый литерал (допускается использовать пустую строку). Значением свойства может быть любое выражение, допустимое в 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) допускается использовать зарезервированные слова в качестве имен свойств без кавычек. Однако в целом имена свойств, совпадающие с зарезервированными словами, в ECMAScript 3 должны заключаться в кавычки. В ECMAScript 5 последняя запятая, следующая за последним свойством в литерале объекта, игнорируется. В большинстве реализаций ECMAScript 3 завершающие запятые также игнорируются, но IE интерпретирует их наличие как ошибку.

Литерал объекта - это выражение, которое создает и инициализирует новый объект всякий раз, когда производится вычисление этого выражения. Значение каждого свойства вычисляется заново, когда вычисляется значение литерала. Это означает, что с помощью единственного литерала объекта можно создать множество новых объектов, если этот литерал поместить в тело цикла или функции, которая будет вызываться многократно, и что значения свойств этих объектов могут отличаться друг от друга.

Оглавление книги


Генерация: 1.394. Запросов К БД/Cache: 3 / 0
поделиться
Вверх Вниз