![]() |
AS-магия: не совсем локальные переменные
У кого-нибудь есть достаточно разумное объяснение, как это работает?
Код:
function test() {Ну ладно бы мы просто могли испльзовать ту же самую переменную - в том же Паскале вложенные функции могут использовать локальные переменные родительской функции. Но тут ещё и сохраняется значение после завершения функции! Ведь onRelease() у нас будет выполнен уже после того, как test() закончит выполнение. Так где "сидит" это значение? |
Переменная «а» внутри onRelease есть глобальная относительно onRelease, но локальная относительно test(). Значение хранится в памяти, GC не удаляет его в силу наличия ссылки на него внутри onRelease. Примерно так.
|
| Часовой пояс GMT +4, время: 15:08. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.