Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
21-40 ред.doc
Скачиваний:
5
Добавлен:
27.09.2019
Размер:
493.57 Кб
Скачать

29. Объектная модель JavaScript. Определение методов. Создание новых объектов.

JavaScript основан на простом объектно-ориентированном примере. Объект - это конструкция со свойствоми, которые являются переменными JavaScript. Свойства могут быть другими объектами. Функции, связанные с объектом известны как методы объекта.

4.4.4 Создание Новых Объектов

И клиент и сервер 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.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]