Что такое свойство по умолчанию Функция-конструктор позволяет наделить объект свойствами по умолчанию. Эти свойства будут у каждого создаваемого экземпляра объекта
function Student(name, phone) {
this.name=name;
this.phone="22-22-22"; // свойство по умолчанию! }
var ivanov = new Student("Ivan","33-33-33");
alert (ivanov.name); // выдаст "Ivan" alert (ivanov.phone); // выдаст "22-22-22" ivanov.phone="33-33-33"; //меняем св-во по умолчанию alert (ivanov.phone); // выдаст "33-33-33"
Добавление свойств к классу объектов Значение свойства можно добавить для:
конкретного экземпляра объекта;
целого класса объектов
Добавление свойств к конкретному (экземпляру) объекту:
имя_объекта.имя_свойства = значение
function Student(biology, phisics) {
this.biology=biology;
this.phisics=phisics;
}
var ivanov = new Student();
ivanov.biology = "отлично";
В примере свойство задается для конкретного объекта, а не для класса объектов!
Добавление свойств к классу объектов:
имя_класса.prototype.имя_свойства=значение
Student.prototype.biology = "отлично";
Важно: В примере свойство (по умолчанию) задается для класса объектов! Это сделано при помощи prototype; прототип — объект, определяющий структуру
Student.prototype.email="jb@gmail.com";
alert(ivanov.email); // выдаст "jb@gmail.com" Пример: Пример вывода всех свойств объекта со значениями
var summerTour={
turkey : 2000,
spain : 3000,
egypt : 1000
};
var option;
for (option in summerTour){
document.write(option + ':' + summerTour[option] + '
');
}
Javascript прототипы (введение)
Рассмотрим пример того, как строятся javascript классы на прототипах
Пример: Создать класс объекта Cаr (автомобиль) с тремя свойствами: name(название), model(модель), color (цвет). Создать экземпляр класса с конкретными значениями свойств. Затем через созданный экземпляр добавить к классу свойство owner (владелец) с конкретным значением по умолчанию (Иванов). Вывести все значения свойств созданного экземпляра
var summerTour={
turkey : 2000,
spain : 3000,
egypt : 1000
};
var option;
for (option in summerTour){
document.write(option + ':' + summerTour[option] + '
');
}
function Car(name, model, color) { /* конструктор объекта car*/ this.name = name;
this.model = model;
this.color = color;
}
var myCar=new Car;
myCar.name="Мерс";
myCar.model="600";
myCar.color="green";
Car.prototype.owner = "Иванов"; /* добавляем новое свойство*/ alert(myCar.name+" "+myCar.model+" "+myCar.color+" "+myCar.owner);
Задание js 6_2. Для задания js 6_1 через созданный экземпляр объекта Сотрудник добавьте новое свойство адрес к классу объектов