Разработка методики преподавания факультатива по программированию на языке JavaScript

переменная = имяОбъектаДаты.(метод)

Класс Date имеет свой набор методов (Приложение IV).

Класс Boolean

Логические величины могут быть представлены в виде объектов при помощи класса Boolean. Конструктор этого класса принимает логическое выражение в виде параметра, а если параметр пропущен, то начальное значение равно true.

Синтаксис записи объектов класса Boolean:

имя_перемен

ной = new Boolean (логическое_значение)

Пример:

var bool;

bool = new Boolean (f == g – 1);

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

Boolean.свойство

Boolean.метод(параметры)

Класс Boolean имеет свой набор свойств и методов (Приложение IV).

b. Пользовательские классы объектов

Создание класса

1. С помощью конструктора new Object():

имя_объекта = new Object();

имя_объекта.свойство = значение;

2. С помощью функции-конструктора.

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

Определение свойств и методов объекта

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

Синтаксис записи функции-конструктора объекта:

function Point (x, y, color) {

this.x = x;

this.y = y;

this.color = color;

}

После написания вышеприведенного кода можно создать объект класса Point через обычную процедуру создания объектов, т. е. с помощью оператора new.

Синтаксис записи объекта класса Point:

var somepoint;

somepoint=new Point(100, 50, "black");

Необходимо помнить, что свойства класса могут содержать указатели на функцию. В качестве примера приведен код, определяющий функцию метода, с помощью которой можно будет определять, попадают ли заданные координаты точки в некоторые пределы и который соответственно будет возвращать true или false:

function PointLim () {

if (this.x > 0 && this.x < 400){

return (this.y > 0 && this.y < 200);

}

else return false;

}

Для определения метода в объекте, необходимо переопределить функцию-конструктор объекта:

function Point(x, y, color){

this.x = x;

this.y = y;

this.color = color;

this.PointLim = PointLim;

}

Фактически, последняя строка вышеприведенного кода делает функцию PointLim частью объекта.

Если пользователь не задал значение одного из свойств объектов, то можно при его создании определить значения свойств по умолчанию с помощью логического оператора ИЛИ в функции-конструктора объекта:

function Point (x, y, color){

this.x = x | | 100;

this.y = y | | 50;

this.color = color | | "black";

this.PointLim = PointLim;

}

Таким образом, если значение не задано, то возвращается значение, стоящее справа от логического оператора ИЛИ.

Использование прототипов

Для примера, если мы создадим объект somePoint класса Point, а затем добавим в него новое свойство radius с помощью инициализатора, то это новое свойство будет относиться только к этому объекту, а не ко всему классу Point (т.е. если мы создадим новый объект этого класса, то в нем нельзя будет использовать свойство radius):

var somePoint;

SomePoint = new Point ();

somePoint.radius = 0.5;

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

Синтаксис записи прототипа:

имя_класса.prototype.имя_свойства = значение;

Здесь имя_свойства – имя добавляемого свойства класса объекта.

Код программы будет представлен в следующем виде:

var somePoint;

somePoint = new Point ();

Point.prototype.radius = 0.5;

Данная запись не устанавливает значение по умолчанию для всего класса, а значение свойства radius будет равно 0.5 только для объекта somePoint.

Наследование классов объектов

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

Рассмотрим создание класса ColoredPoint, который унаследует свойства ранее созданного нами класса Point.

function ColoredPoint (x, y, color, radius, edgeColor) {

this.base = Point;

this.base (x, y, color);

this.radius = radius || 0.5;

this.edgeColor = edgeColor || "red";

}

ColoredPoint.prototype = new Point;

Сначала создается конструктор нового класса, среди свойств которого перечисляются все свойства нового объекта. Далее устанавливается новое свойство base, которому присваивается ссылка на конструктор класса родителя, в приведенном примере это класс Point. Затем вызывается конструктор родителя и ему передаются требуемые параметры, т.е. имена свойств, которые необходимо унаследовать, и только после этого инициализируются новые свойства класса ColoredPoint. Последняя строка кода задает родителя для вновь созданного класса, и помещается вне тела конструктора.

с. Внешние классы объектов

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

Браузер разбивает web-страницу в соответствии с определенной иерархией (рис. 4).

Рис. 4. Объектная модель

В языке JavaScript иерархия объектов начинается с класса объектов Window. К этому классу объектов относятся объект window и объект frames. Объект window ассоциируется с окном браузера, а объект frames с окнами внутри окна браузера. Для обращения к любому объекту или его свойству указывают полное или частичное имя этого объекта или свойства объекта, начиная с имени объекта старшего в иерархии, в который данный объект входит.

Пример:

window.document.location

window.document.images[0].src // в квадратных скобках указывается номер элемента

Использование событий

Наступление события может быть вызвано каким-либо действием пользователя или возникновением какого-либо условия внутри системы. В языке JavaScript события можно сравнить с совокупностью свойств и методов. Событие - это свойство, которому присваивается ссылка на функцию, которая выполняется при наступлении определенного действия.

Синтаксис использования события:

имя_объекта.имя_события = имя_функции

Здесь имя_объекта – это объект, для которого происходит событие; имя_события – это имя события, которое используется; имя_функции – это имя функции без скобок "()".

Привязать какую-либо функцию к событию можно и в HTML-коде, используя следующий синтаксис:

Страница:  1  2  3  4  5  6  7  8  9  10  11  12  13  14 


Другие рефераты на тему «Педагогика»:

Поиск рефератов

Последние рефераты раздела

Copyright © 2010-2024 - www.refsru.com - рефераты, курсовые и дипломные работы