Модераторы: SoWa
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Адресация обьектов во Flex 
:(
    Опции темы
Foo
Дата 7.4.2008, 13:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 164
Регистрация: 20.10.2006

Репутация: нет
Всего: 3



Всем привет!

Не для кого не секрет что обьекты во Flex передаются в методы по ссылке на адрес в памяти. Но я был удивлен когда проделал следующее:

1. я создаю обьект, например var obj:Object = new Object();

также я написал метод примерно следующего содержания:
Код

function updateObj(obj:Object) {
   obj = new Object();
}



например до вызова метода у обьекта obj адрес в памяти 55555555. Затем я вызываю метод updateObj и передаю туда свой обьект, внутри метода obj начинает ссылаться на другой, толькочто созданный обьект в памяти, например его адрес 333333333. НО, по выходу из метода, obj продолжает ссылаться на 55555555!

Может ктонибудь прояснить это явление?
И как сделать, чтобы этого не происходило???

--------------------
qip
PM MAIL   Вверх
Daevaorn
Дата 7.4.2008, 20:11 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2155
Регистрация: 29.11.2004
Где: Москва

Репутация: нет
Всего: 70



Цитата(Foo @  7.4.2008,  14:25 Найти цитируемый пост)
например до вызова метода у обьекта obj адрес в памяти 55555555. Затем я вызываю метод updateObj и передаю туда свой обьект, внутри метода obj начинает ссылаться на другой, толькочто созданный обьект в памяти, например его адрес 333333333. НО, по выходу из метода, obj продолжает ссылаться на 55555555!

А почему вы ожидали другой результат?
Цитата(Foo @  7.4.2008,  14:25 Найти цитируемый пост)
Может ктонибудь прояснить это явление?

В функцию действительно передается ссылка на объект. Эта "ссылка" сохранена в локальную переменно obj. Внутри функции эта переменная принимает другое значение. Но она никак не связана с исходной.
Цитата(Foo @  7.4.2008,  14:25 Найти цитируемый пост)
И как сделать, чтобы этого не происходило???

Никак. Новый объект функция должна возвращать явно и не модифицировать параметр.
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Flex | Следующая тема »


 




[ Время генерации скрипта: 0.0398 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.