HTML 5, CSS 3 и Web 2.0. Разработка современных Web-сайтов
Шрифт:
Пример:
var elNavbar = Ext.get("navbar");
Здесь мы вызвали метод get объекта Ext, экземпляр которого хранится в переменной Ext, передав данному методу параметр — строку "navbar". Как мы уже знаем, метод get ищет на Web-странице элемент, имеющий значение атрибута тега ID, которое совпадает с переданной ему в качестве параметра строкой. Возвращенный этим методом результат — экземпляр объекта Element, представляющего список navbar, — будет присвоен переменной elNavbar.
Пример:
var elParent = elNavbar.parent;
А здесь мы вызвали
Если результат, возвращаемый каким-либо методом (назовем его методом 1), представляет собой объект, мы можем сразу вызвать метод у него (это будет метод 2). Для этого мы добавим справа от вызова метода 1 точку, после которой поставим вызов метода 2.
Пример:
elNavbar.parent. addClass("hovered");
Здесь мы сначала вызвали метод parent у экземпляра объекта Element, хранящегося в переменной elNavbar (метод 1). У полученного в результате вызова метода 1 результата — экземпляра объекта Element, представляющего элемент-родитель, — мы вызвали метод addClass (метод 2).
Такие цепочки последовательных вызовов методов, когда стоящий справа метод
вызывается у экземпляра, возвращенного методом, стоящим слева, встречаются в JavaScript-коде очень часто.
Доступ к свойствам объекта выполняется аналогично. К переменной, хранящей экземпляр объекта, добавляется справа точка, а после нее записывается имя свойства.
Пример:
var sID = elParent.id;
В данном примере мы обратились к свойству id объекта Element, экземпляр которого хранится в переменной elParent. Это свойство хранит значение атрибута тега ID у соответствующего элемента Web-страницы.
Пример:
Ext.enableFx = false;
Здесь мы присвоили новое значение свойству enableFx объекта Ext, экземпляр которого хранится в переменной Ext.
Пример:
var sID = elNavbar.parent. id;
А здесь мы сначала получили родитель элемента Web-страницы, хранящегося в переменной elNavbar, после чего извлекли значение атрибута тега ID уже у полученного родителя.
Что ж, с объектами и их экземплярами, свойствами и методами мы познакомились. Теперь давайте кратко "пробежимся" по объектам, которые будем использовать при написании Web-сценариев. Рассмотрим только встроенные объекты JavaScript и объекты Web-обозревателя; пользовательским объектам, создаваемым библиотекой Ext Core, будет полностью посвящена глава 15.
Встроенные объекты языка JavaScript
Ранее мы познакомились со встроенным объектом Date, который предоставляется самим языком JavaScript и служит для хранения значений даты и времени:
var dNow = new Date;
Объект Date поддерживает ряд методов, позволяющих получать отдельные составляющие даты и времени и манипулировать ими. Так,
метод getDate возвращает число, getMonth — номер месяца, а getFullYear — год. Все эти методы не принимают параметров, а возвращаемые ими результаты представляют собой числа.Пример:
var sNow = dNow.getDate +"." + dNow.getMonth +"." +
dNow.getFullYear;
Здесь мы объединяем в одну строку число, номер месяца и год, разделяя их точками. Таким образом мы получим значение даты в формате <число>.<месяц>.<год>.
При этом JavaScript сам выполняет неявное преобразование числовых величин в строки.
Объект String служит для хранения строк.
var s = "JavaScript";
Мы только что создали экземпляр объекта String, хранящий строку JavaScript.
Здесь мы столкнулись с одной особенностью JavaScript, отличающей его от других языков программирования. Все значения простых типов данных в нем на самом деле являются экземплярами соответствующих объектов. Так, строка — это фактически экземпляр объекта String.
Свойство length объекта String хранит длину строки в символах:
var l = s.length;
var l = "JavaScript".length;
Эти выражения помещают в переменную l длину строки JavaScript.
Метод substr возвращает фрагмент строки заданной длины, начинающийся с указанного символа:
substr(<номер первого символа>[, <длина фрагмента>]);
Первым параметром передается номер первого символа, включаемого в возвращаемый фрагмент строки.
ВНИМАНИЕ!
В JavaScript символы в строках нумеруются, начиная с нуля.
Второй, необязательный, параметр задает длину возвращаемого фрагмента в символах. Если он опущен, возвращаемый фрагмент будет содержать все оставшиеся символы строки.
После выполнения Web-сценария
var s1 = s.substr(4);
var s2 = s.substr(4, 2);
в переменной s1 окажется строка "Script", а в переменной s2 — строка "Sc".
Объект Number служит для хранения чисел, а объект Boolean — логических величин:
var n = 123;
var b = false;
Числа и логические величины с точки зрения JavaScript также представляют собой экземпляры соответствующих объектов.
Объект Array служит для хранения массивов:
var a = [1, 2, 3, 4];
Он поддерживает единственное свойство length, возвращающее размер массива, т. е. число элементов в нем:
var l = a.length;
var l = [1, 2, 3, 4].length;
Уже знакомый нам объект Math, единственный экземпляр которого создается самим JavaScript и хранится в переменной Math, представляет набор методов для выполнения математических и тригонометрических вычислений.
Мы не будем рассматривать здесь все встроенные объекты JavaScript и поддерживаемые ими свойства и методы. Это можно найти в любой книге по JavaScript- программированию.