Скачать 1.04 Mb.
|
- - Лекция 2-07 4.4.12. Создание пользовательских объектов и экземпляров объектов 4.4.12.1. Создание экземпляра объекта с помощью инициализатора 4.4.12.2. Создание объекта с помощью функции-конструктора 4.4.12.3. Создание иерархии объектов в JavaScript 4.4.13. Дополнительные средства работы с объектами 4.4.13.1. Предложение for…in 4.4.13.2. Предложение with 4.4.13.3. Оператор typeof 4.4.13.4. Оператор instanseof 4.4.13.5. Оператор delete 4.4.13.6. Оператор in 4.4.13.7. Оператор void 4.4.14. Регулярные выражения в JavaScript 4.4.14.1. Объект Regular Expression 4.4.14.2. Встроенный объект RegExp 4.4.14.3. Поиск и изменение строки с помощью регулярных выражений 4.4.14.4. Синтаксис шаблона 4.4.14.5. Операция альтернации 4.4.14.6. Одиночный метасимвол 4.4.14.7. Квантификаторы 4.4.14.7.1. Метасимвол "+" 4.4.14.7.2. Метасимвол "*" 4.4.14.7.3. Метасимвол "?" 4.4.14.7.4. Задание количества повторений символов 4.4.14.7.5. Метасимволы ".*" и ".*?" 4.4.14.8. Классы символов 4.4.14.9. Специальные символы 4.4.14.10. Анкеры 4.4.14.11. Группировка элементов и обратные ссылки 4.4.15. Обработка ошибок в JavaScript 4.4.15.1. Принципы обработки ошибок 4.4.15.2. Объект Error 4.4.15.3. Механизм обработки ошибок в JavaScript 4.4.15.4. Создание и использование объекта Error ^ Для создания собственных (пользовательских) объектов в JavaScript можно использовать два способа:
Инициализатор объекта создает уникальный экземпляр объекта с заданными свойствами и методами. Инициализатор имеет следующий синтаксис: { идентификатор-свойства-1 : выражение-1, идентификатор-свойства-2 : выражение-2, … идентификатор-функции-1 : function(список-параметров-1) {тело-функции-1}, идентификатор-функции-2 : function(список-параметров-2) {тело-функции-2}, … } При создании экземпляра объекта с помощью предложения: var идентификатор-объекта = инициализатор-объекта; выражения вычисляются и их значение присваивается свойствам, а функции становятся доступными для использования их экземпляром объекта. Значение переменной идентификатор-объекта можно присвоить другой переменной. Однако, в отличие от обычной операции присваивания, новая переменная не создает новый экземпляр объекта. При изменении значения одной из переменных это же значение присваивается другой переменной. Такие переменные называются связанными. В выражениях для свойств можно указывать не только литералы и переменные, но и объект. Пример 4.4.63. Использование инициализатора объекта: 1. // Создание экземпляра объекта point var point = { x:0, // Свойство x: координата x точки y:0, // Свойство y: координата y точки // Функция assign: присваивание значений // координатам точки assign:function(x, y) { // Присваивание значения // координате x точки this.x = x; // Присваивание значения // координате x точки this.y = y; // Возврат объекта return this; }, // Функция move: перемещение точки move:function(dx, dy) { // Перемещение точки на заданное // приращение по оси x this.x += dx; // Перемещение точки на заданное // приращение по оси y this.y += dy; }, // Функция toString: преобразование // объекта point в строку toString:function() { return "(" + this.x + "," + this.y + ")"; } }; … // Вывод текущих значений свойств // x и y объекта point alert("x=" + point.x + " y=" + point.y); // Создание связанного объекта point1 // с заданными координатами point1 = point.assign(3, 4); // Вывод координат point1 alert("point1= " + point1.toString()); // Перемещение point1 point1.move(5, -3); // Вывод координат point alert("point= " + point.toString()); В этом фрагмента с помощью инициализатора создается объект point (точка) со свойствами x и y, а также функциями assign(),move() и toString(). Вывод фрагмента имеет следующий вид:
2. // Создание экземпляра объекта line var line = { // Координаты x и y начала линии // (использован объект point) coord1:point.assign(0,0), // Координаты x и y окончания линии // (создан новый экземпляр объект point) coord2: { x:1, // Свойство x: координата x точки y:1, // Свойство y: координата y точки // Функция assign: присваивание значений // координатам точки assign:function(x, y) { // Присваивание значения // координате x точки this.x = x; // Присваивание значения // координате x точки this.y = y; // Возврат объекта return this; }, // Функция toString: преобразование // объекта point в строку toString:function() { return "(" + this.x + "," + this.y + ")"; } }, // Функция length: определение длины линии length:function() { return Math.sqrt(Math.pow(this.coord1.x – this.coord2.x, 2) + Math.pow(this.coord1.y - this.coord2.y, 2)); return Math.sqrt(Math.pow(this.coord1.x - this.coord2.x, 2) + Math.pow(this.coord1.y - this.coord2.y, 2)); }, // Функция toString: преобразование // объекта line в строку toString:function() { return "(" + this.coord1.toString() + "," + this.coord2.toString() + ")"; } }; … // Вывод координат и длины линии alert("Линия: " + line.toString() + " Длина: " + line.length()); // Изменение координат линии line.coord1.assign(2,5); line.coord2.assign(7,10); // Вывод координат и длины новой линии alert("Новая линия: " + line.toString() + " Длина: " + line.length()); В этом фрагменте сценария с помощью инициализатора создается объект (линия), для которого определены свойства coord1 и coord2, а также функции length() и toString(). Свойства coord1 и coord2 являются объектами – точками. Для инициализации свойства coord1 использован объект point из пункта 1 этого примера. Инициализатор для coord2 помещен непосредственно в инициализатор line. Вывод фрагмента имеет следующий вид:
|
![]() | Создание документа (размеры, цвет фона, частота кадров). Выравнивание объектов в документе | ![]() | Дополнения к Перечню объектов коммунальной собственности, включенных в перечни объектов |
![]() | Ия 17 объектов коммунальной собственности. С учетом 6-и объектов, переходящих из Перечня объектов, подлежащих приватизации в 2005... | ![]() | Цель работы: Изучить основные виды и способы анимации параметров объектов в 3d studio max: анимация по ключевым кадрам, анимация... |
![]() | В отличие от финансовых инвестиций, недвижимость имеет явно выраженную материальную форму, более высокий уровень защиты от инфляции,... | ![]() | Анализируя свойства этих простых трехмерных геометрических объектов можно сделать вывод о том, что форма каждого из них имеет свои... |
![]() | Инспектирование грузов и объектов (Агро сектор, Металлургия). Управление залоговым хранением. Техническое инспектирование объектов... | ![]() | Многократное копирование элементов и объектов. Полукруглые, круглые стены с возможностью редактирования. Загрузка объектов в режиме... |
![]() | Диаграммы объектов применяют при моделировании статических видов системы с точки зрения проектирования и процессов. При этом моделируется... | ![]() | Целью Программы является создание банка данных для обеспечения органов исполнительной власти полноразмерными копиями документов и... |