На этом шаге мы приведем общие сведения о объектах, их свойствах и методах.
Понятие объекта является ключевым в современном программировании. Идея объекта очень проста - данные и функции, которые эти данные используют, рассматриваются как единое целое.
Итак, объект - это единая конструкция, содержащая в себе набор данных и функций или, в терминологии JavaScript, набор свойств и методов.
В качестве примера объекта можно рассмотреть HTML-документ. Его свойствами являются: URL-адрес, размер, кодировка символов, тип документа и др. А функции сохранения на диске, открытия в окне обозревателя, распечатывание документа являются его методами.
В свою очередь здесь каждый объект относится к какому-либо классу объектов, т.е. объекты являются экземплярами классов объектов. Несколько объектов могут относиться к одному и тому же классу. Таким образом, класс - это своего рода тип объекта, а объект - конкретный экземпляр класса, с которым можно работать. Для создания объекта используется оператор new с указанием класса, к которому будет относиться данный объект:
<имя_объекта> = new <имя_класса>( );
Выражение <имя класса>( ) называется конструктором объекта. В конструктор (в круглых скобках) можно передавать некоторые параметры, инициализируя таким образом некоторым образом некоторые свойства объекта при его создании.
Можно также обойтись и без конструктора, в этом случае используются так называемые инициализаторы.
<имя_объекта> = new <имя_класса>(<свойство1>: <значение1>,
<свойство2>:<значение2>, ...,
<свойствоN>:<значениеN>);
Здесь свойство1 создаваемого объекта инициализируется значением1, свойство2 - значением2 и т.д.
С помощью имени объекта можно обращаться к свойствам и методам созданного объекта. Для обращения, например, к свойству имя_свойства объекта имя_объекта, нужно сначала записать имя объекта, затем поставить точку и имя свойства:
<имя_объекта>.<имя_свойства>;
Обращение к методам объекта осуществляется аналогичным образом, только после имени метода необходимо ставить круглые скобки:
<имя_объекта>.<имя_метода>();
. . . . . var obj; Obj = new Name_of_Class(); obj.size = 7; obj.SaveToDisk ("somefile.html"); . . . . . .
Здесь вначале был создан объект obj, относящийся к классу Name_of_Class, затем его свойству size было присвоено значение 7, после чего с помощью метода SaveToDisk() этого же объекта файл с именем somefile.html был сохранен на диск.
В заключение отметим, что в JavaScript наблюдается некоторые отличия в использовании терминов "класс" и "объект". Под объектом в JavaScript понимается класс, а объект в обычном понимании называется в JavaScript экземпляром объекта. Поэтому в дальнейшем мы будем пользоваться устоявшейся терминологией.
Все объекты (то бишь классы в обычном понимании) в JavaScript подразделяются на встроенные, пользовательские и внешние. Встроенные объекты мы рассмотрим позднее, пользовательские - это объекты, созданные пользователем. К внешним относятся объекты, принадлежащие ко внешним по отношению к интерпретатору JavaScript программам.
Остановимся более подробно на встроенных объектах и объектах (то есть классах в обычном понимании) пользователя.
Язык JavaScript имеет большое число встроенных объектов. Встроенные объекты заложены в сам язык. Это означает, что программные коды объектов входят в состав программы браузера. Пользователь должен знать интерфейсы этих объектов, уметь образовывать от них экземпляры объектов, и тогда он сможет использовать встроенные объекты по своему усмотрению.
JavaScript позволяет программировать новые объекты и менять алгоритмы работы встроенных. Это очень удобно и привлекательно для опытного программиста.
На следующем шаге мы рассмотрим объект Date.