Объект Object — это примитивный объектный тип, производными которого являются все остальные объекты языка JavaScript. Он имеет две формы конструктора:
new Object()
new Object(значение)
Здесь значение — любое выражение, задающее примитивное значение объекта. Если оно не указано, то создается пустой объект. Для создания пустого объекта можно также использовать инициализатор объекта:
{}
Примеры:
var a = new Object();		// пустой объект
var b = {};			// то же самое
var c = new Object(true);	// примитивное значение объекта true
Объект Object содержится во всех объектах JavaScript, поэтому все его методы и свойства им доступны. Методы данного объекта могут быть переопределены в пользовательских объектах.
Свойства объекта Object  
Свойство Описание Член прототипа
constructor Конструктор, который создал объект. Да
prototype Ссылка на прототип класса объектов. Да
  Методы объекта Object  
Метод Описание Член прототипа
hasOwnProperty Проверяет наличие заданного свойства. Да
isPrototypeOf Проверяет, является ли объект прототипом данного объекта. Да
propertyIsEnumerable Проверяет наличие заданного итерируемого свойства. Да
toLocaleString Преобразует объект в строку с учетом формата операционной системы. Да
toString Преобразует объект в строку. Да
valueOf Возвращает примитивное значение объекта. Да

Свойство constructor

Синтаксис: объект.constructor
Атрибуты:  { DontEnum, DontDelete, ReadOnly }
Значением свойства constructor является функция, которая была конструктором данного объекта. Подчеркнем, что это не текстовая строка, содержащая имя функции, а именно функция (точнее, ссылка на нее). Примеры:
function Tobacco(name) {
   this.name=name
}

theTobacco = new Tobacco("Camel")
if (theTobacco.constructor == Tobacco) ( ... }
document.write("theTobacco.constructor: " + theTobacco.constructor)
Последний оператор примера выведет на экран обозревателя текст: theTobacco.constructor: function Tobacco(name) { this.name=name }

Свойство prototype

Синтаксис: объект.prototype
Атрибуты:  { DontEnum, DontDelete, ReadOnly }
Значением свойства prototype является ссылка на прототип данного объекта. Прототип используется для динамического добавления или удаления свойств и методов класса объектов. Прототипы встроенных объектов имеют атрибут ReadOnly. В данном случае это означает, что изменять его набор свойств можно, но заменить прототип встроенного объекта нельзя. С другой стороны, прототипы пользовательских объектов допускают присваивание; тем самым мы задаем, какой объект является прототипом данного.

Метод hasOwnProperty

Синтаксис: объект.hasOwnProperty(имя)
Аргумент:  имя — любое строковое выражение
Результат: логическое значение
Поддержка: Internet Explorer Поддерживается с версии 5.5.

Netscape Navigator Не поддерживается.
Метод hasOwnProperty возвращает true, если объект имеет свойство с данным именем, и false в противном случае. Этот метод не проверяет наличие свойства по цепочке прототипов; указанным свойством должен обладать именно сам объект. Пример:
var a = new Array();
var b1 = a.hasOwnProperty("join");		 // false
var b2 = Array.prototype.hasOwnProperty("join"); // true

Метод isPrototypeOf

Синтаксис: объект.isPrototypeOf(имя)
Аргумент:  имя — любое объектное выражение
Результат: логическое значение
Поддержка: Internet Explorer Поддерживается с версии 5.5.

Netscape Navigator Не поддерживается.
Метод isPrototypeOf возвращает true, если имя является объектом и объект содержится в цепочке его прототипов, и false в противном случае. Пример:
var a = new Array();
var b = Array.prototype.isPrototypeOf(a); // true

Метод propertyIsEnumerable

Синтаксис: объект.propertyIsEnumerable(имя)
Аргумент:  имя — любое строковое выражение
Результат: логическое значение
Поддержка: Internet Explorer Поддерживается с версии 5.5.

Netscape Navigator Не поддерживается.
Метод propertyIsEnumerable возвращает true, если объект имеет свойство с данным именем и это свойство не имеет атрибута DontEnum, и false в противном случае. Этот метод не проверяет наличие свойства по цепочке прототипов; указанным свойством должен обладать именно сам объект.

Метод toLocaleString

Синтаксис: объект.toLocaleString()
Результат: строковое значение
Метод toLocaleString преобразует объект в строковое значение, учитывая формат операционной системы. Результат зависит от объекта. По умолчанию возвращает строку "[object имя_объекта]", где имя_объекта — это имя данного класса объектов, т. е. совпадает с методом toString.

Метод toString

Синтаксис: объект.toString()
Результат: строковое значение
Метод toString преобразует объект в строковое значение. Результат зависит от объекта. По умолчанию возвращает строку "[object имя_объекта]", где имя_объекта — это имя данного класса объектов. Этот метод автоматически вызывается исполняющей системой JavaScript всякий раз, когда требуется неявное преобразование объекта в строку.

Метод valueOf

Синтаксис: объект.valueOf()
Результат: зависит от объекта
Метод valueOf возвращает примитивное значение объекта. Результат зависит от объекта. По умолчанию возвращает строку "[object имя_объекта]", где имя_объекта — это имя данного класса объектов. Обычно этот метод вызывается исполняющей системой JavaScript неявно при выполнении автоматического преобразования типов.