Руководство по actionscript. часть 2, стр. 113

Динамические переменные экземпляра иногда используются для создания простой «справочной таблицы», рассматриваемой далее, в разд. «Использование динамических переменных экземпляра для создания справочных таблиц».

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

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

Среде выполнения Flash для обращения к динамической переменной экземпляра требуется больше времени, чем для обращения к фиксированной переменной. Когда производительность является решающим фактором, избегайте использования динамических переменных экземпляра.

Обработка динамических переменных экземпляра с помощью циклов for-each-in и for-in. Цикл f or-each-in обеспечивает простой способ обработки значений динамических переменных экземпляра объекта (или элементов массива). Он имеет следующий общий вид:

for each (переменнаяИлиЗначениеЭлемента in некийОбьект) { инструкции

}

Инструкции инструкции цикла f or-each-in выполняются один раз для каждой динамической переменной экземпляра или элемента массива в объекте некийОбьект. В процессе каждой итерации цикла значение переменной или элемент, над которым выполняется итерация (перечисление), присваивается переменной переменнаяИлиЗначениеЭлемента. Код внутри тела цикла имеет возможность применять это значение по своему усмотрению.

Например, рассмотрим описание объекта и связанный с ним цикл f or-each-in, продемонстрированный в следующем коде. Обратите внимание, что внутренний объект Object объявлен с использованием атрибута dynamic и, следовательно, поддерживает динамические переменные экземпляра.

var info:Object = new ObjectC ); info. city = «Toronto»; info. country = «Canada»;

for each (var detail:* in info) { trace(detail);

}

Приведенный цикл выполняется дважды, по одному разу для каждой из двух динамических переменных экземпляра объекта, на который ссылается переменная info. При выполнении цикла в первый раз переменной detail присваивается значение «Toronto» (то есть значение переменной city). При выполнении цикла во второй раз переменная detail содержит значение «Canada» (то есть значение переменной country). Таким образом, в результате выполнения цикла будет выведена следующая информация:

Toronto Canada

В большинстве случаев порядок, в котором циклы for-each-in и for-in перечисляют переменные объекта, не гарантирован. Однако существует два исключения: перечисление переменных экземпляров классов XML и XMLList происходит в возрастающем порядке, в соответствии с числовыми именами их переменных (то есть в соответствии с документированным порядком для объектов XML; дополнительную информацию можно найти в гл. 18). Для всех остальных типов объектов порядок перечисления, используемый циклами for-each-in и for-in, может отличаться в зависимости от версий языка ActionScript и клиентских сред выполнения Flash. Таким образом, не следует писать код, который зависит от порядка перечисления циклов for-each-in или for-in, кроме тех случаев, когда обрабатываются данные в формате XML.

google.com bobrdobr.ru del.icio.us technorati.com linkstore.ru news2.ru rumarkz.ru memori.ru moemesto.ru

Оставить комментарий

Вы должны авторизоваться для отправки комментария.

Полезные ссылки
Случайные записи
  • 04.03.2011">Руководство по actionscript. часть 5, стр. 034
  • 23.01.2011">Руководство по actionscript. часть 1, стр. 019
  • 19.05.2010">Самоучитель по креативному веб-дизайну. Книга 2, стр.25
  • 25.02.2011">Руководство по actionscript. часть 6, стр. 081
  • 23.01.2011">Руководство по actionscript. часть 1, стр. 058
  • 04.03.2011">Руководство по actionscript. часть 5, стр. 036
  • 24.02.2011">Руководство по actionscript. часть 6, стр. 104
  • 19.05.2010">Самоучитель по креативному веб-дизайну. Книга 2, стр.15
  • 09.05.2010">Самоучитель по креативному веб-дизайну. Книга 1, стр.167
  • 08.03.2012">Новый рекорд Skype: 35 млн одновременных пользователей
  • 28.02.2011">Руководство по actionscript. часть 6, стр. 013
  • 14.03.2011">Руководство по actionscript. часть 3, стр. 069
  • 18.05.2010">Самоучитель по креативному веб-дизайну. Книга 2, стр.74
  • 18.03.2011">Руководство по actionscript. часть 2, стр. 110
  • 22.01.2011">Руководство по actionscript. часть 1, стр. 135
Опрос

Какие цвета вы предпочитаете?

View Results

Loading ... Loading ...