Разница между "obj['s']" = и "obj.s ="
Есть ли разница в том, как указывать свойства объектам (динамически).
Так Код:
var worker:Object = {}; Код:
worker.age = 15; |
Разница только в скорости доступа-создания.
|
Цитата:
Цитата:
|
Привет!
var o:Object = new Object() идентично var o:Object = {}. Скорость создания - одинаковая. worker["age"] = 15 идентично worker.age = 15. Скорость доступа - одинаковая. Только есть отличие: при помощи квадратных скобок можна формировать свойство на "лету". Например: worker["age"+8] = 15, что эквивалентно worker.age8 = 15. Но если написать: worker.age+8 = 15 - будет ошибка |
Цитата:
Код AS3:
Добавлено через 54 секунды Цитата:
|
Цитата:
Добавлено через 2 минуты Код AS3:
Код AS3:
|
Спасибо за ответы.
serogah, привет) worker["age"+8] = 15, что эквивалентно worker.age8 = 15. Вот это очень интересная вещь) Не знал)Часто необходимо бывает динамически создавать объекты(неопределенное количество), и в таком случае для доступа к ним приходится пихать их в коллекцию, а оттуда их уже по индексу выдергивать. А тут, грубо говоря, можно будет динамически каждому объекту раздавать id: Код:
for (i;i<n;i++){worker["age"+i]} |
на миллионе итераций проверьте
|
Код AS3:
Трейсы выдали: 1000, 621, 242, 362 соответственно. |
Цитата:
|
Часовой пояс GMT +4, время: 14:47. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.