И клиент и сервер JavaScript имеют строки предопределенных
объектов. Кроме того, вы можете создавать ваши собственные
объекты. Создание вашего собственного объекта требует двух
шагов:
- Определить тип объекта, написанной функции.
- Создать образец объекта с new.
Чтобы определять
тип объекта, создайте функцию для типа объекта, которая определяет
его имя, и его свойства и методы. Например, пусть вы хотите
создавать тип объекта для автомобилей. Вы хотите этот тип
объектов, который будет назван car, и Вы хотите, чтобы он
имел свойства для make, model, year, и color. Чтобы сделать
это, вы должны написать следующую функцию:
Function car (make, model, year) {
this.make = make;
this.model = model;
this.year = year;
}
Замечание, используйте
this, чтобы присвоить значения свойствам объекта, основанные
на значениях функции.
Теперь вы можете
создавать объект, с именем mycar следующим образом:
mycar = new car("Eagle", "Talon
TSi", 1993);
Это утверждение создает mycar
и присваивает ему указанные значения для его свойств. Затем
значение mycar.make - строка "Eagle", mycar.year
- целое число 1993, и так далее.
Вы можете создавать
любое число объектов car запрашивая к new. Например,
kenscar = new car("Nissan", "300ZX",
1992)
Объект может иметь свойство,
которое является самостоятельным другим объектом. Например,
пусть вы определили объект с именем 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, чтобы включить свойство владельца, которое
берет объект 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 как аргументов владельцев. Затем, если вы хотите выяснять
имя владельца car2, вы можете обращаться к следующему свойству:
car2.owner.name
Заметьте, что вы можете всегда
прибавлять свойства к предопределенному объекту. Например,
утверждение:
car1.color = "black"
Прибавляет свойство color
к car1, и присваивает ему значение " black". Однако,
это не воздействует на любые другие объекты. Чтобы прибавить
новое свойство ко всем объектам того же самого типа, вы должны
прибавить свойство к определению типа объекта car.
|