метода 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, будет полностью посвящена
Встроенные объекты языка 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- программированию.
Объект
Но об одном встроенном объекте следует поговорить особо. Это объект Object, весьма специфический.
Экземпляры этого объекта обычно используются для хранения сложных структур данных, включающих произвольный набор свойств и методов. Один экземпляр объекта Object может иметь один набор свойств и методов, а другой экземпляр — совсем другой.
Экземпляры объекта Object создают с помощью особых выражений, называемых
