УРОКИ JAVASCRIPT HTML DOM DHTML AJAX ПРИМЕРЫ JAVASCRIPT

JavaScript Урок 33 Пользовательские Объекты


« Назад Далее »

Пользовательские объекты удобно использовать для того, чтобы организовывать информацию.


Примеры

Примеры

Создание прямого экземпляра объекта

Создание шаблона для объекта


Объекты JavaScript

В предыдущих уроках JavaScript вы видели, что имеется несколько встроенных объектов, например String, Date, Array, и другие. В дополнение к этим встроенным объектам, вы также можете создавать свои собственные.

Объект это специальный вид данных с набором свойств и методов.

Давайте проиллюстрируем это на примере: Персона (person) - это объект. Свойства - это значения, ассоциированные с объектом. Свойства персоны включают имя, рост, вес, возраст, цвет кожи, цвет глаз, и т.д. Все персоны имеют эти свойства, но значения этих свойств будут различаться от одной персоны к другой. Объекты также имеют методы. Методы - это действия, которые могут быть выполнены над объектами. Методы персоны могут включать eat() - есть, sleep() - спать, work() - работать, play() - играть, и т.д.

Свойства

Синтаксис доступа к свойству объекта:

ИмяОбъекта.ИмяСвойства

Вы можете добавлять свойство к объекту, просто придавая ему значение. Предположим, что объект personObj уже существует - вы можете задать для него свойства firstname (имя), lastname (фамилия), age (возраст), и eyecolor (цвет глаз) следующим образом:

personObj.firstname="Вася";
personObj.lastname="Иванов";
personObj.age=30;
personObj.eyecolor="карие";

document.write(personObj.firstname);

Код выше сгенерирует следующий вывод:

Вася

Методы

Объект также может включать методы.

Вы можете вызывать метод, используя следующий синтаксис:

ИмяОбъекта.ИмяМетода()

Замечание: Параметры, передаваемые методу, заключаются в курглые скобки.

Пример вызова метода sleep() объекта personObj:

personObj.sleep();


Создание Ваших Собственных Объектов

Есть три различных способа создания объекта:

1. Создание прямого экземпляра объекта

Следующий код создает новый экземпляр объекта, и добавляет к нему четыре свойства:

personObj=new Object();
personObj.firstname="Вася";
personObj.lastname="Иванов";
personObj.age=30;
personObj.eyecolor="карие";

альтернативный синтаксис (использование объектных литералов):

personObj={firstname:"Вася",lastname:"Иванов",age:30,eyecolor:"карие"};

Добавить метод к объекту personObj также просто. Следующий код добавляет метод с названием eat() к объекту personObj:

personObj.eat=eat;

2. Создание конструктора объекта

Создаем функцию, которая инициализирует объекты:

function person(firstname,lastname,age,eyecolor)
{
this.firstname=firstname;
this.lastname=lastname;
this.age=age;
this.eyecolor=eyecolor;
}

Внутри функции вы должны присвоить значения свойствам используя конструкцию this.ИмяСвойства. Причина такого синтаксиса в том, что вы собираетесь использовать более одного экземпляра объекта (персоны) одновременно (и должно быть понятно, с каким конкретно объектом вы имеете дело). Поэтому слово "this" указывает на конкретный - текущий объект, свойства которого вы инициализируете в конструкторе.

Как только вы написали конструктор объекта, вы можете создавать новые экземпляры объекта, например:

var myFather=new person("Вася","Иванов",30,"карие");
var myMother=new person("Света","Захарова",28,"зеденые");

Вы также можете добавить несколько методов к объекту person. Это делается внутри функции:

function person(firstname,lastname,age,eyecolor)
{
this.firstname=firstname;
this.lastname=lastname;
this.age=age;
this.eyecolor=eyecolor;

this.newlastname=newlastname;
}

Заметьте, что методы - это обычные функции, прикрепленные к объектам. Далее мы должны написать тело функции newlastname():

function newlastname(new_lastname)
{
this.lastname=new_lastname;
}

Функция newlastname() получает в качестве параметра новую фамилию персоны и присваивает ее этой персоне. JavaScript знает, о какой персоне идет речь, посредством использования слова "this.". Таким образом, теперь вы можете написать: myMother.newlastname("Иванова").





« Назад Далее »
© 2011-2019 Уроки JavaScript