Объектная модель документа

Объект Описание

Встроенные объекты

Понятие объекта

Расчет значения c2 по данным примера 3.19

Таблица 3.9

i xi* Zi Ф(zi) pi npi (ninpi)2 2npi
- ¥ -2,02 -1,50 -0,98 -0,45 0,07 0,60 1,13 1,65 2,18 + ¥ -0,5000 -0,4782 -0,4332 -0,3363 -0,1734 0,0279 0,2257 0,3705 0,4503 0,4853 0,5000 0,0218 0,0450 0,0969 0,1629 0,2013 0,1978 0,1448 0,0798 0,0350 0,0147 – 4,36 9,00 19,38 32,38 40,26 39,56 28,96 15,96 7,00 2,94 1,54 0,44 0,99 2,26 1,90 0,05 0,30 0,29 0,00 0,00
Сумма 7,77

 

Одной из первых фраз, которую вспоминают при обсуждении объектно-ориентированного языка программирования, является "Всё является объектом". Т.е. любая сущность в адресном пространстве является объектом.

В Javascript все объекты выстроены в строгой иерархии, в вершине которой стоит объект Window.

Итак, первый и самый главный вопрос – как создать объект?

Существует несколько способов создания простого объекта и установки его свойств:

var newObj = new Object();newObj.test = "test string";newObj.showMsg = function () { alert(Alert Message);}

Также может быть использована сокращенная форма записи:

var newObj = { test: "test string", showMsg: function () { alert(Alert Message); }}

В JavaScript нет понятия класса как такового, и. в отличие от классических объектно-ориентированных языков происходит наследование не классов, а объектов, одни объекты порождают другие.

Встроенные объекты JavaScript доступны в любом месте скрипта и в любой ситуации. К их числу относятся:

Таблица 13.1.

String Содержит методы и свойства для работы со строками (изменение строки в целом, изменение отдельных символов, представления строки и т.д.)

Array Используется для хранения и управления наборами формализованных данных.

Math Содержит все основные математические константы, а так же предоставляет методы для выполнения типовых математических операций (округление, тригонометрические функции и т.д)

Date Предоставляет свойства и методы для работы с датами и временем.

Number Содержит базовые константы и методы работы с числовыми данными.

Boolean Объект-оболочка для простых логических типов данных и операций над ними.

Function Объект представляет собой строку, которая при выполнении компилируется в функцию.

Object Объект-родитель всех объектов JavaScript. Содержит все базовые методы, имеющиеся в любом объекте (например, toString()). Обычно этот объект в явном виде не используется.

Объектная модель документа не является частью языка JavaScript. Строго говоря, DOM ( Document Object Model ) – это интерфейс прикладного программирования для представления документа (например, документа HTML , а также иных) и обеспечения доступа к его элементам и интерактивного изменения их свойств. DOM предоставляет механизмы для изменения самой структуры документа (добавление и удаление элементов, изменение их содержимого).

Для понимания объектной модели документов важно осознавать, что логическая древовидная структура представления документа никак не связана с реализацией этой модели именно в виде древовидной структуры. Рекомендации не регламентируют способ реализации модели, она может быть произвольной. Основное - это принцип структурного изоморфизма: две реализации объектной модели документа, используемые для представления одного и того же документа, создадут одну и ту же структурную модель с одинаковыми объектами и их связями.

Другой важный аспект модели DOM - она оперирует с объектами в полном соответствии с традиционными объектно-ориентированными технологиями: все элементы документа представляются в виде объектов. В узлах структурной логической схемы находятся объекты, а не данные, со всеми присущими объектам свойствами и поведением.

Объектная модель документов, таким образом, как объектная модель, определяет:

  • интерфейсы и объекты, используемые для представления документа и манипулирования с ним;
  • семантику (смысл) этих интерфейсов и объектов, включая и поведение, и атрибуты;
  • "родственные" связи и взаимодействие между этими интерфейсами и объектами.

Объектная модель документа представляется узлами (node), расположенными в виде иерархической структуры дерева. Концепция объектной модели не привязана ни к какому конкретному представлению документа (HTML, XML, SGML). Она всего лишь описывает логическую организацию документа. Ее реализация в конкретной системе представления документов ставит в соответствие узлам реальные элементы. В объектной модели документа, реализованной для HTML, в узлах могут находиться любые элементы HTML или текст, называемые узловыми элементами.

Объекты, предоставляемые Web-обозревателем, делятся на две группы:

  1. Объекты, представляющие Web-страницу и элементы, созданные с помощью разных тегов (абзац, заголовок, таблица, изображение и др.);
  2. Отдельный элемент Web-страницы, независимо от тега, с помощью которого он создан, представляется объектом HTMLElement. На этом объекте основаны другие объекты, представляющие элементы Web-страницы, которые созданы на основе определенных тегов. Так, абзац представляется объектом HTMLParagraphElement, изображение — объектом HTMLImageElement, гиперссылка — объектом HTMLLinkElement, а таблица — объектом HTMLTableElement.

Объект HTMLDocument является корнем иерархии HTML, в котором хранится все содержимое. Помимо предоставления доступа к иерархии он также предлагает несколько методов, которые позволяют выбирать из документа определенные наборы данных. Свойства и методы объекта HTMLDocument перечислены в табл. 13.2 :

Таблица 13.2.