Этот способ применяется в тех случаях, когда мы хотим создать класс объектов с определенным набором свойств, а затем создавать новые объекты, просто указывая, к какому классу они должны принадлежать. Для этого нужно сначала создать конструктор объектов, который является функцией специального вида, а именно:
  • имя функции задает имя создаваемого класса объектов;
  • тело функции должно содержать присваивание начальных значений свойствам и методам создаваемого объекта.
Например, конструктор для класса объектов Browser из предыдущего примера может иметь следующий вид:
function Browser(name, version) {
  this.name = name;
  this.version = version;
}
Обратите внимание на использование операции this для доступа к свойствам объекта. Теперь для создания новых объектов класса Browser достаточно вызвать этот конструктор в операции new, например:
var myBrowser = new Browser("Microsoft Internet Explorer", "5.5");
Вспомним теперь, что выше мы добавили свойство options объекта Browser, которое само является объектом. Перепишем приведенный пример с учетом этого свойства:
function Options(enableJava, enableCookies) {
  this.enableJava = enableJava;
  this.enableCookies = enableCookies;
}

function Browser(name, version) {
  this.name = name;
  this.version = version;
  this.options = options;
}

var myOptions = new Options(true, false);
var myBrowser = new Browser("Microsoft Internet Explorer", "5.5", myOptions);
Для доступа к свойствам свойства options используется нотация myBrowser.options.enableJava.