Объектная модель документа
Объект Описание
Встроенные объекты
Понятие объекта
Расчет значения c2 по данным примера 3.19
Таблица 3.9
i | xi* | Zi | Ф(zi) | pi | npi | (ni – npi)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-обозревателем, делятся на две группы:
- Объекты, представляющие Web-страницу и элементы, созданные с помощью разных тегов (абзац, заголовок, таблица, изображение и др.);
- Отдельный элемент Web-страницы, независимо от тега, с помощью которого он создан, представляется объектом HTMLElement. На этом объекте основаны другие объекты, представляющие элементы Web-страницы, которые созданы на основе определенных тегов. Так, абзац представляется объектом HTMLParagraphElement, изображение — объектом HTMLImageElement, гиперссылка — объектом HTMLLinkElement, а таблица — объектом HTMLTableElement.
Объект HTMLDocument является корнем иерархии HTML, в котором хранится все содержимое. Помимо предоставления доступа к иерархии он также предлагает несколько методов, которые позволяют выбирать из документа определенные наборы данных. Свойства и методы объекта HTMLDocument перечислены в табл. 13.2 :
Таблица 13.2.