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

Объекты JavaScript

Реализация объектно-ориентированного программирования в JavaScript

Язык JavaScript является объектно-ориентированным языком программирования, в котором реализован второй подход к созданию объектов с определением для новых объектов набора свойств и методов, а также клонированием существующих объектов из их прототипов (хотя в список ключевых слов для будущего использования внесено слово class). В связи с этим в нем не определены такие понятия объектно-ориентированных программирования, как класс, перегрузка методов, механизмы наследования, полиморфизм и другие. Термин «функция» в JavaScript эквивалентен термину «метод» в других объектно-ориентированных языках.

В новой, четвертой редакции стандарта ECMA-262, которая находится сейчас в стадии обсуждения, в язык введены классы и все связанные с ними возможности.

В языке JavaScript определены следующие группы объектов:

· встроенные объекты;

· объекты, создаваемые пользователем;

· объекты Web-браузера.

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

Программист может создать свои объекты JavaScript как функции, в которых определены свойства, играющие роль данных. Что касается методов, то они тоже определяют­ся как функции, но отдельно.

При интерпретации Web-страницы браузером создаются объекты Web-браузера. К свойствам и методам этих объектов можно обращаться так же, как и для встроенных объектов, но состав этих объектов зависит от Web-браузера.

Для создания нового объекта из существующего объекта в JavaScript используется ключевое слово new.

Предложение создания нового объекта имеет следующий синтаксис:

var переменная = new имя-объекта-прототипа ([ параметры ])

Этот оператор создает (с именем переменная) новый экземпляр объекта того же типа, что и объект-прототип.

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

Пример 4.4.36. Создание нового объекта:

1. var string1= new String("Строка 1");

С помощью этого предложения создан объект встроенного объекта String (строка) с именем string1.

2. var string2= new String("Строка 2");

С помощью этого предложения создан второй объект встроенного объекта String (строка) с именем string2.

Объекту может быть присвоено специальное значение null. Объект, который еще не инициализирован, также имеет значение null.

Поскольку свойства и методы в объектно-ориентированных языках привязаны к объекту, доступ к ним в JavaScript осуществляется, как и в других объектно-ориентированных языках, с помощью так называемой точечной нотации, имеющей следующий синтаксис:

имя-объекта.имя-свойства

имя-объекта.имя-функции (аргументы)

Для ссылки на текущий объект используется ключевое слово this.

Пример 4.4.37. Обращение к методам и свойствам объекта:

1. string1Length = string1.length;

Обращение к свойству length для созданного в предыдущем примере объекта string1. Свойство length содержит текущую длину – 8 объекта string1. Значение свойства присваивается переменной string1Length.

2. newString = string1.concat(string2);

Обращение к методу concat() для созданного в предыдущем примере объекта string1. Этот метод создает объект newString типа String, в котором содержится объединены (сцеплены) строки string1 и string2.

3. currentLength = this.length;

Определение длины текущего объекта-строки.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: