Этот способ применяется в тех случаях, когда мы хотим создать класс объектов с определенным набором свойств, а затем создавать новые объекты, просто указывая, к какому классу они должны принадлежать. Для этого нужно сначала создать
конструктор объектов, который является функцией специального вида, а именно:
- имя функции задает имя создаваемого класса объектов;
- тело функции должно содержать присваивание начальных значений свойствам и методам создаваемого объекта.
Например, конструктор для класса объектов
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
.