Basics
Создание объектов
Объекты создаются путем вызова специальных функций конструкторов. Все следующие строки создают новые объекты:
var o = new Object();
var now = new Date();
var pattern = new RegExp("\\sjava\\s", "i");
Создав собственный объект, можно как угодно его использовать и устанавливать свойства:
var point = new Object();
point.x = 2.3;
point.y = 1.2;
Объектные литералы
В JavaScript определяется синтаксис объектных литералов, позволяющий создавать объекты и указывать их свойства. Объектный литерал (также называемый "инициализатором объекта") представляет собой список разделенных запятыми пар «свойство/значение», заключенных в фигурные скобки. Роль разделителя внутри пар играет двоеточие. Таким образом, объект point из предыдущего примера также может быть создан и инициализирован следующей строкой:
var point = { x:2.3, y:1.2 };
Объектные литералы могут быть вложенными. Например:
var rectangle = {
upperLeft: { x: 2, y: 2 },
lowerRight: { x: 4, y: 4 }
};
Наконец, значениями свойств в объектных литералах не обязательно должны быть константы – это могут быть произвольные JavaScript-выражения. Кроме того, в качестве имен свойств объектных литералов допускается использовать строковые значения:
var square = {
"upperLeft": { x:point.x, y:point.y },
'lowerRight': { x:(point.x + side), y:(point.y+side) }
};
Преобразование объектов
Когда непустой объект используется в логическом контексте, результатом преобразования является значение true. Когда объект используется в строковом контексте, преобразование выполняется методом toString() объекта, и в дальнейших вычислениях участвует строка, возвращаемая этим методом. Когда объект используется в числовом контексте, сначала вызывается метод объекта valueOf(). Если этот метод возвращает числовое значение примитивного типа, в дальнейших вычислениях участвует это значение. Однако, в большинстве случаев метод valueOf() возвращает сам объект. В такой ситуации сначала объект преобразуется в строку вызовом метода toString(), а затем выполняется попытка преобразовать строку в число.
Last updated