![]() |
|
Модераторы: SoWa |
![]()
|
|
| Foo |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 164 Регистрация: 20.10.2006 Репутация: нет Всего: 3 |
Всем привет!
Не для кого не секрет что обьекты во Flex передаются в методы по ссылке на адрес в памяти. Но я был удивлен когда проделал следующее: 1. я создаю обьект, например var obj:Object = new Object(); также я написал метод примерно следующего содержания:
например до вызова метода у обьекта obj адрес в памяти 55555555. Затем я вызываю метод updateObj и передаю туда свой обьект, внутри метода obj начинает ссылаться на другой, толькочто созданный обьект в памяти, например его адрес 333333333. НО, по выходу из метода, obj продолжает ссылаться на 55555555! Может ктонибудь прояснить это явление? И как сделать, чтобы этого не происходило??? --------------------
qip |
|||
|
||||
| Daevaorn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2155 Регистрация: 29.11.2004 Где: Москва Репутация: нет Всего: 70 |
А почему вы ожидали другой результат? В функцию действительно передается ссылка на объект. Эта "ссылка" сохранена в локальную переменно obj. Внутри функции эта переменная принимает другое значение. Но она никак не связана с исходной. Никак. Новый объект функция должна возвращать явно и не модифицировать параметр. |
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Flex | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |