Объекты в JavaScript. Создание объектов JavaScript

Создание объектов в JavaScript

JavaScript является объектно-ориентированным языком. За исключением основных языковых конструкций типа циклов и операций отношения, почти все возможности JavaScript так или иначе реализованы с помощью объектов.

Иногда объекты используются явно для выполнения определенных задач, таких как, например, обработка документов (X)HTML и XML на основе объектной модели документа. В других случаях роль объектов менее очевидна, как, например, роль объекта String при работе с примитивными строковыми данными.

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

Объекты в JavaScript

Объекты в JavaScript можно поделить на четыре группы.

  1. Пользовательские объекты, созданные программистом и имеющие структуру и сущность, которые соответствуют конкретной задаче программирования. Возможности создания и использования таких объектов мы обсудим в этой главе.
  2. Встроенные объекты предлагаются самим языком JavaScript. Среди них объекты, связанные с типами данных (String, Number и Boolean), объекты, позволяющие создавать пользовательские объекты и составные типы (Object и Array), и объекты, упрощающие выполнение типичных задач (например, Date, Math и RegExp). Возможности встроенных объектов регламентированы стандартом языка ЕСМА-262 и, в меньшей степени, спецификациями производителей браузеров.
  3. Объекты браузера, не являющиеся частью языка JavaScript, но поддерживаемые большинством браузеров. Примерами объектов браузера являются Window — объект, посредством которого осуществляется управление окнами браузера и взаимодействие с пользователем, и Navigator — объект, обеспечивающий информацию о конфигурации клиента. Поскольку большинство аспектов объектов браузера не регламентированы какими-либо стандартом, их свойства и поведение могут существенно зависеть как от браузера, так и от его версии. Объекты этого типа будут обсуждаться далее.
  4. Объекты документа являются частью объектной модели документа (DOM — Document Object Model), определенной консорциумом W3C. Такие объекты предоставляют программисту структурированный интерфейс документов (X)HTML и XML. Именно эти объекты обеспечивают JavaScript возможность манипуляции вложенными таблицами стилей (CSS — Cascade Style Sheet) и упрощают реализацию динамического HTML (DHTML). Доступ к объектам документа обеспечивается браузером через свойство document объекта Window (window. document). Подробно о модели DOM мы поговорим позже.

Принципы работы с объектами

Объект — это неупорядоченная совокупность данных, включающая примитивные типы данных, функции и даже другие объекты. Польза объектов заключается в том, -то они концентрируют в одном месте все данные и логику, необходимые для выполнения определенной конкретной задачи. Объект String хранит текстовые данные и предлагает множество функций, необходимых для действий с ними. Хотя присутствие объектов в языке программирования совсем не обязательно (в языке С, например, нет объектов), они определенно упрощают использование языка.

Создание объектов

Объект создается с помощью конструктора — функции специального вида, которая подготавливает новый объект для использования, инициализируя занимаемую Зъектом память. В главе 4 мы видели, что объекты можно создавать, применяя операцию new к их конструкторам. Применение этой операции заставляет конструктор создать новый объект, природа которого определяется вызываемым конструктором. Например, конструктор String () создает объекты String, а конструктор Array () — объекты Array. Именно так задаются имена объектных типов в JavaScript: по имени создающего объект конструктора.
Вот простой пример создания объекта:

var city = new String();

Этот оператор создает новый объект String и размещает ссылку на него в переменной city. Здесь конструктору не предлагается никаких аргументов, поэтому переменная city получит значение по умолчанию — в данном случае это пустая строка. Можно сделать этот пример более интересным, передав конструктору аргумент, задающий начальное значение:

var city = new String("Сан-Диего");

Здесь в переменную city помещается ссылка на новый объект String со значением «Сан-Диего».

Понравилась статья? Поделиться с друзьями:
Добавить комментарий