Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Конспект_КТ_222261.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
934.91 Кб
Скачать

Лекция 5. Использование объектов

  1. Понятие объекта, метода и свойства

Объект – настолько общее понятие, что трудно дать однозначное определение. В общем можно сказать, что в информатике объект – некая абстрактная сущность предметной области или совокупность свойств, методов и событий.

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

В JavaScript можно создавать собственные объекты или использовать предопределенные объекты, такие как string, frame, date, textarea.

Объекты могут обладать свойствами и методами. Свойства объектов несут всю информацию об объекте. К свойствам можно обращаться через точку между именем объекта и свойством. (document.title). Методы – функции, реализующие задачи, характерные для объекта. К методам можно обращаться также как к свойствам через точку. (document.write()).

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

Полный набор объектов JavaScript, относящихся к элементам Web – страниц называют объектной моделью документа. Все объекты, отображающие элементы Web – страницы подчиняются определенной иерархии. Наивысшим родительским объектом является объект window. На следующем уровне находятся объекты document, frame, location, history. Объекты, содержащиеся в другом объекте называются подобъектами. В свою очередь эти объекты включают элементы, образующие Web – страницу, такие как ссылки, формы, изображения и т.д. Элементы также могут являться объектами, например Form. Объекту form подчиняются элементы text, textarea, button м т.д. При обращении к элементам можно ссылаться на объекты, в которых они находятся. Например, ссылка на переключатель в форме выглядит следующим образом: window.document.form.radio или если форма включает текстовое поле, то обращение к значению текстового поля может выглядеть следующим образом: window.document.form.text.value.

Объекты тоже могут рассматриваться как элементы электронного документа. Если в документе несколько объектов, то обращение к отдельным объектам выглядит следующим образом, например к форме: window.document.form[0], window.document.form[1] и т.д. Все ссылки нумеруются, начиная с нуля. Так как объект window является наивысшим, то указывать его не обязательно. По умолчанию уже подразумевается, что все объекты и элементы принадлежат объекту window. Если указываются объекты, используемые вне текущего документа, то указывать объект window обязательно.

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

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

В JavaScript объекты условно можно разделить на предопределенные и пользовательские. Предопределенные объекты – объекты, которые создаются с помощью встроенных функций JavaScript. Одни из таких объектов создаются неявно, например объект типа string (строковая переменная) создается при объявлении строки в программе и получить доступ к свойствам и методам объекта строковой переменной можно следующим образом: string.length, другие создаются с помощью ключевого слова new и функции конструктора.

Конструктор – метод, имя которого совпадает с именем объекта. Конструктор используется при создании объекта.

Для создания пользовательского объекта применяется ключевое слово new с конструктором Object().

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

***

<html>

<head>

<title> Пример № 3</title.

</head>

<script language=”JavaScript”>

function newfun (obj) {

var a=obj.a1.value;

var h=obj.h1.value;

var s=(a*h)/2;

obj.s1.value= s; }

</script>

</head>

<body.

<p> Вычисление площади треугольника</p>

<form name=”form1”>

Основание: <input type=”text” size=10 name=”a1”> <br>

Высота: <input type=”text” size=10 name=”h1”> <br>

Площадь <input type=”text” size=10 name=”s1”> <br>

<input type=”button” value=”Вычислить” onClick=”newfun(form1)”>

<input type=”reset” value=”Обновить”>

</form>

</body>

</html>

  1. Обращение к объектам

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

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

Например, к переменной функции newfun (x1) в теле этой функции можно обратиться следующим образом: this.name=x1

Оператор this можно использовать для ссылки на текущий элемент web – страницы. Например, если функции в качестве параметра передается значение текстового поля формы, к этому значению можно обратиться внутри обработчика события с помощью конструкции this.value.

***

function newfun (x1) {

document.write (“x1”); }

………….

<form name=”form1”>

<input type=”text” name=”x1” onClick=”newfun (this.value)”>

</form>

4. Просмотр свойств объектов

При работе с объектами часто необходимо просмотреть свойства объектов. Получить информацию о свойствах можно с помощью оператор цикла for. Этот оператор for содержит ключевое слово in и имя объекта. Например, для просмотра свойств объекта window используется следующая конструкция: for (prop in window). А чтобы вывести свойства на экран можно включить в цикл оператор document.write.

Для отображения значений свойств также можно использовать оператор window[prop].

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

5. Использование объектов Array, Image, Link, Anchor, History.

Объект Array создается в процессе создания массива (предопределенный объект).

Объект Array обладает свойством length, определяющее длину массива. Если например, создан массива array1=new Array(30), то значение свойства array1.length будет равно 30.

Объект Array включает также несколько методов, которые можно использовать при работе с элементами массива. Метод join () соединяет все элементы массива в одну строку, при этом разделителем элементов в строке служит значение, передаваемое в метод в качестве параметра (array.join («!»)).

Метод sort () используется для упорядочения элементов массива. Этот метод сортирует элементы массива в алфавитном порядке. Когда этот метод применяется к численному массиву, числа тоже сортируются в алфавитном порядке. Например, массив со значениями 15,5,2,10 после сортировки будет выглядеть следующим образом: 10, 15, 2, 5. Для сортировки чисел в обычном порядке создается другая функция, реализующая метод сортировки не в алфавитном, а в цифровом порядке, и имя этой функции передается методу sort ().

***

function Sort (var1, var2) {

return var1-var2; }

mas= new Array ( );

str=mas.sort(Sort);

Метод reverse () изменяет порядок следования элементов массива на обратный.

Объект image создается, если на web-странице расположено изображение. Если на странице расположено несколько изображений, тогда обращаться к каждому объекту image следует таким образом: document.image[0], document.image[1],… Объект image обладает свойствами: width (ширина), height (высота), border (толщина рамки), и.д. Эти свойства позволяют динамически изменять атрибуты изображения с помощью сценариев JavaScript.

Аналогично объекту image объекты link, anchor организуются в виде массива. Например, если на странице имеются два элемента привязки и три гиперссылки, ссылка на первый элемент привязки будет следующая document.anchor[0], а ссылка на первую гиперссылку – document.link[0].

Объект link включает свойство href, которое позволяет динамически изменять гиперссылки. Объект anchor – свойство name, позволяющее изменять имя элемента привязки.

Для организации перемещения между просмотренными страницами используется объект history. Объект history включает свойство lehgth, которое позволяет просмотреть длину списка, просмотренных страниц. Также объект history включает несколько методов. Метод back() может привести к появлению в окне броузера предыдущей загруженной страницы. Метод forward () отображает следующую страницу. Метод go () используется для перелистывания страниц. Document.history.go(-2) – отображает страницу на две страницы назад.