Иллюстрированный самоучитель по Adobe Dreamweaver MX

Объекты

Этот код создает в классе WebBrowser одно-единственное свойство address. Обратите внимание на синтаксис, с помощью которого это делается. В качестве имени класса используется ключевое слово this, обозначающее текущий класс. Интерпретатор JavaScript создает свойства класса сразу же при первом обращении к ним; вот и в нашем случае он создал свойство address и дал ему значение, присвоенное нами. Конструктор может принимать параметры:

function WebBrowser(homePage) {
    this.address = homePage;
}

Таким образом мы можем передать конструктору класса адрес домашней страницы, с которой начнется путешествие по Интернету.

var currentWebBrowser;
currentWebBrowser = new WebBrowser("http://www.server.ru/home_page.htm");

"Но, позвольте! – скажете вы. – А как же создаются методы класса?" Тоже очень просто.

Прежде всего, нам нужно написать функцию, реализующую этот метод.

function fGoTo(pageAddress) {
    this.address = pageAddress;
}

Мы назвали эту функцию fGoTo. Это имя состоит из буквы f (от англ. function – функция) и имени метода goTo, который она реализует.

Теперь перепишем функцию-конструктор таким образом, чтобы создать новый метод goTo.

function WebBrowser(homePage) {
    this.address = homePage;
    this.goTo = fGoTo;
}

Как видите, мы "присваиваем" написанную нами функцию fGoTo свойству goTo класса WebBrowser. После этого можно вызывать метод goTo этого класса.

var currentWebBrowser;
currentWebBrowser = new WebBrowser("http://www.server.ru/home_jpage.htm");
currentWebBrowser.goTo("http://www.w3c.org");

Только что вы научились создавать простейшие классы. Но на самом деле вам в очень редких случаях придется делать это. Куда чаще вы будете пользоваться уже готовыми системными классами, предоставляемыми самим интерпретатором JavaScript и другими программами, например Web-обозревателем. Поэтому давайте поговорим о системных классах.

Системных классов, предоставляемых программисту интерпретатором, довольно много. Среди них есть, например, класс Date, предназначенный для работы со значениями даты и времени.

var d;
d = new Date();

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

var dayNumber;
dayNumber = d.getDay();

Или выяснить год:

var year;
year = d.getFullYear();

Некоторые методы класса Date перечислены в табл. 13.1.

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

Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.