Клиентский JavaScript. Справочник

         

и экземпляр объекта. Предположим, вы


Пример 1: Тип объекта и экземпляр объекта. Предположим, вы хотите создать тип объекта для автомобилей/cars. Вы хотите, чтобы этот тип назывался car и чтобы он имел свойства make/изготовлен, model/модель и year/год. Для этого вы должны написать следующую функцию:
function car(make, model, year) {
   this.make = make
   this.model = model
   this.year = year
} Теперь можно создать объект mycar:
mycar = new car("Eagle", "Talon TSi", 1993) Этот оператор создал mycar и присвоил специфицированные значения его свойствам. Теперь значением свойства mycar.make является строка "Eagle", mycar.year - целое число 1993 и т.д.
Вы можете создать любое количество объектов типа car путём вызова операции new. Например,
kenscar = new car("Nissan", "300ZX", 1992) Пример 2: Свойство объекта, само являющееся другим объектом. Предположим, Вы определили объект person:
function person(name, age, sex) {
   this.name = name
   this.age = age
   this.sex = sex
} а затем инстанциируете (создаёте экземпляры) два новых person-объекта:
rand = new person("Rand McNally", 33, "M")
ken = new person("Ken Jones", 39, "M") Затем Вы можете переписать определение типа car для включения свойства owner, принимающего объект person:
function car(make, model, year, owner) {
   this.make = make;
   this.model = model;
   this.year = year;
   this.owner = owner;
} Для инстанциации новых объектов Вы теперь используете:
car1 = new car("Eagle", "Talon TSi", 1993, rand);
car2 = new car("Nissan", "300ZX", 1992, ken) Вместо того чтобы передавать строковой литерал или целочисленное значение при создании объектов, вышеприведённые операторы передают объекты rand и ken в качестве параметров для свойства owner. Чтобы найти имя owner/владельца машины car2, Вы можете получить доступ к следующему свойству:
car2.owner.name

Содержание раздела