Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






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






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

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

[операторы]

}

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

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

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

4Пример 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 // Вычисление длины окружности

}






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.