Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Konspekt_Kursa_JavaScript.doc
Скачиваний:
2
Добавлен:
01.07.2025
Размер:
1.51 Mб
Скачать

Манипулирование объектами

Для работы с объектами в JavaScript предназначены два оператора. С одним из них мы познакомились в примере 10 — цикл по свойствам объекта:

for( переменная_цикла in объект) {

[операторы]

}

Этот цикл осуществляет перебор всех свойств объекта. В переменной цикла на каждой итерации сохраняется название свойства объекта. Значение свойства объекта можно получить с помощью конструкции

объект[имя_свойства]

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

Пример 11. Перечисление свойства объекта HTML

Для обеспечения возможности доступа в сценарии к элементу HTML отображаемого в браузере документа с помощью объекта в язык HTML была добавлена возможность идентификации любого элемента страницы с помощью атрибута id. Его значением является алфавитно-цифровой идентификатор, начинающийся с буквы. По этому имени в сценарии JavaScript можно получить ссылку на объект, соответствующий указанному элементу HTML. В Internet Explorer для этого достаточно указать это имя и автоматически ссылка будет получена. После чего можно получать или изменять значения свойств этого объекта, обычно соответствующих атрибутам элемента HTML, соответствующего этому объекту. Однако у всех объектов есть свойства, которые не соответствуют никаким атрибутам. Эти свойства реализованы в соответствии с используемой в браузере объектной моделью документа.

В представленном ниже сценарии при щелчке на кнопке Свойства абзаца вызывается функция properties(), в которую передается ссылка на объект par1, соответствующий абзацу страницы HTML. Эта функция возвращает строку с названиями и значениями всех свойств объекта, соответствующего абзацу с атрибутом id=par1, которая отображается на странице HTML.

<HEAD>

<SCRIPT LANGUAGE="JaVaSCRipt">

<!--

function properties(obj) {

var result = ""

for (var i in obj) {

result += obj.id + "." +

i + " = " + obj[i] + "<BR>"

}

result += "<HR>"

return result

}

//-->

</SCRIPT>

</HEAD>

<BODY>

<p id="par1">

Получить в сценарии доступ к объекту, соответствующему

какому-нибудь элементу HTML страницы, можно с помощью

значений его атрибутов <b>id</b> или <b>name</b>.

</p>

<input type=button value="Свойства абзаца"

onclick="document.write(properties(par1))">

</BODY>

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

Текст приведенного выше сценария с использованием оператора with можно записать и так:

with( obj) {

result += id + "." +

i + " = " + [i] + "<BR>"

}

Полезно использовать этот оператор для объекта Math. Тогда обращение к его свойствам и методам осуществляется без явного указания префикса Math. Например:

with(Math) {

r = sin(2.0) // Вычисление синуса

l = 2*PI*r // Вычисление длины окружности

}

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]