Объектная модель в Java Script

В JavaScript используются следующие виды объектов:

пользовательские объекты – это объекты, которые создаём мы сами с помощью конструктора объекта Object;

встроенные объекты языка JavaScript String – строка текста; Array – массив; Date – дата и время; Math – математические функции; Object – содержит конструктор для создания пользовательских объектов;

объекты браузера – создаются автоматически при загрузке документа в браузер:

window – объект верхнего уровня в иерархии объектов браузера;

document – содержит свойства, которые относятся к текущему HTML-документу;

location – содержит свойства, описывающие местонахождение текущего документа, например адрес URL;

navigator – содержит информацию о версии браузера;

history – содержит информацию обо всех ресурсах, к которым пользователь обращался во время текущего сеанса;

объекты, связанные с тегами HTML и стилями CSS – в JavaScript большинству тэгов HTML и стилей CSS соответствуют свойства объекта document, которые сами также являются объектами;

Пользовательские объекты

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

function Book() {

}

Создание экземпляра объекта типа book будет иметь вид:

var myBook = new Book();

Конструктор может обращаться к создаваемому объекту, используя ключевое слово this. Таким образом можно добавить свойство создаваемому объекту:

function Book() {

this.paper = true;

}

var myBook = new Book();

alert(myBook.paper);

//выведет на экран true, т.к. все объекты типа Book будут иметь свойство paper со значением true

В конструктор можно передавать параметры, чтобы задать начальные свойства создаваемого объекта.

function Book(isPaper) {

if (isPaper) this.paper = true;

else this.paper = false;

}

var myBook = new Book(false);

alert(myBook.paper);

//выведет на экран false

Прототипы

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

Book.prototype.paper = false;

Book.prototype.isPaperBook = function() {

if (this.paper) alert("This is a paper book");

else alert("This is not a paper book");

}

function Book(isPaper) {

if (isPaper) this.paper = true;

}

var myBook = new Book(true);

myBook.isPaperBook();

//выведет на экран фразу «This is a paper book»

В этом примере показано создание метода объекта и свойства, причем в прототипе описано, что свойство paper имеет значение false. Однако в конструкторе это свойство переопределяется, если при создании объекта конструктору передается параметр со значением true.

Вы можете следить за любыми ответами на эту запись через RSS 2.0 ленту. Вы можете оставить ответ, или trackback с вашего собственного сайта.

Оставьте отзыв

XHTML: Вы можете использовать следующие теги: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

 
Rambler's Top100