Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Основи мови JavaScript.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
1.04 Mб
Скачать

2. Класи і об'єкти

Мова сценаріїв JavaScript є об'єктно-орієнтованим. Об'єкти JavaScript являють собою набори властивостей і методів. Можна сказати, що властивості об'єктів - це дані, пов'язані з об'єктом, а методи - функції для опрацювання даних об'єкта.

Адресация властивостей у сценаріях JavaScript можлива або по іменах властивостей, або по їхніх номерах. Всі властивості об'єкта зберігаються як елементи масиву і тому кожна властивість має свій номер.

2.1. Три типи об'єктів «JavaScript

У мові JavaScript є три типи об'єктів: умонтовані об'єкти, об'єкти браузера й об'єкти, що програміст створює самостійно.

2.1.1. Умонтовані об'єкти

Нижче перераховані умонтовані об'єкти, властивості і методи яких доступні в сценаріях JavaScript без попереднього визначення цих об'єктів:

Об'єкт Опис

Array* Масив

Boolean* Логічні дані

Date Календарна дата

Function* Функція

Global* Глобальні методи

Math Математичні константи і функції

Number* Числа

Object* Об'єкт

String Рядки

Символом * відзначені умонтовані об'єкти, визначені в мові Microsoft JScript версії 3.0, реалізованої в браузере Microsoft Internet Explorer версії 4.0.

Як приклад, що має практичне значення, можна роздивитися документ HTML, у якому відображається поточна дата і час. Вихідний текст цього документа знаходиться в листинге 2.1.

Листинг 2.1. Файл chapter2/date/date. html

<HTML>

<HEAD>

<TITLE>Show date and time</TITLE>

</HEAD>

<BODY BGCOLOR=WHITE>

<Hl>Show date and time</Hl>

<SCRIPT LANGUAGE="JavaScript">

<!--

var dt;

var szDate="";

dt = new Date();

szDate = "Date: " + dt.getDate() + "."

+ dt.getMonth() + "." + dt.getYear();

document.write(szDate);

document.write("<BR>");

document.write("Time: " + dt.getHours()

+ ":" + dt.getMinutes() + ":" + dt.getSeconds());

//-->

</SCRIPT>

</BODY>

</HTML>

Тут сценарій JavaScript створює об'єкт Data, застосовуючи для цього ключове слово new і конструктор Date без параметрів:

var dt;

dt = new Date();

Утворюваний у такий спосіб об'єкт Data инициализируется поточною локальною датою, встановленої в користувача (а не на сервері Web, із якого був завантажений відповідний документ HTML).

У такому рядку формується текстовий рядок дати:

szDate = "Date: " + dt.getDate() + "."

+ dt. getMonth() + ". " + dt. getYear();

Значення календарного числа, номера місяця і роки тут утворюється відповідно за допомогою методів getDate, getMonth і getYear. Ці методи визиваються для об'єкта dt, що містить поточну дату.

Текстовий рядок дати виводиться в документ HTML за допомогою методу write, визначеного в об'єкті document:

document. write(szDate);

Об'єкт Date містить також інформацію про поточний час. Ця інформація витягається для відображення за допомогою методів getHours, getMinutes і getSeconds (відповідно часи, хвилини і секунди):

document. write("Time: " + dt. getHours()

+ ":" + dt. getMinutes() + ":" + dt. getSeconds());

2.1.2. Об'єкти браузера

З погляду сценарію JavaScript браузер рекомендується ієрархічно організованим набором об'єктів. Звертаючись до властивостей і методів цих об'єктів, можна виконувати різноманітні операції над вікном браузера, завантаженим у це вікно документом HTML, а також над окремими об'єктами, розміщеними в документі HTML.

У сценаріях JavaScript не можна створювати нові класи на базі класів, що відповідають цим об'єктам, проте властивості і методи об'єктів браузера доступні.

Ієрархія об'єктів браузера

Об'єкт window знаходиться в корені ієрархії. Коли у вікно браузера завантажується документ HTML, усередині цього об'єкта створюються інші об'єкти - document, parent, frame, location і top.

Якщо у вікно браузера завантажується документ HTML із фреймами, то для кожного фрейма створюється окреме вікно, причому це вікно створюється як об'єкт window.

Об'єкт document містить у собі інші об'єкти, склад яких цілком визначається документом HTML, завантаженим у вікно браузера. Це можуть бути форма, посилання на інші документи HTML або локальні посилання усередині одного документа, об'єкти, що визначають адресу URL документа, і т.д.

Форми в документі також рекомендуються у виді ієрархічного набору об'єктів. Об'єкт-форма може містити в собі такі об'єкти, як кнопки, перемикачі, поля для запровадження текстової інформації.

Звертаючись до властивостей перерахованих вище об'єктів, сценарій JavaScript може визначити різноманітні характеристики документа HTML. Йому доступні всього посилання, розміщені в документі, а також уміст поляж форм, визначених у документі HTML.

Події, пов'язані з об'єктами

З кожним об'єктом браузера зв'язується визначений набір подій, опрацювання яких можлива в сценарії JavaScript.

Наприклад, з об'єктом window пов'язані події onLoad і onUnload. Перше з цих подій виникає, коли браузер завершує завантаження вікна і всіх розташованих у ньому фреймов (якщо ці фреймы визначені у вікні). Друга подія виникає, коли користувач завершує роботу з документом, закриваючи вікно браузера або переключаючись на інший документ.