PDA

Просмотр полной версии : Как вывести переменную из обработчика события?


Chelovek
12.06.2013, 12:53
Здравствуйте:
var ATP:Array = new Array();

a1.addEventListener(MouseEvent.CLICK, clickHandler);

function clickHandler(evt:Event):void
{
ATP[0] = "Password";
ATP[1] = "Text";
trace(ATP[1]);
}
trace(ATP[1]);
Функция trace в обработчике говорит "Text".
А функция trace вне обработчика говорит "undefined".

gloomyBrain
12.06.2013, 13:03
Обработчик срабатывает когда вы кликаете на a1. И уже в самом обработчике вы задаете значения ATP[0] и ATP[1]. То есть до того как произойдет клик никаких значений еще не задано. Второй trace выполняется при старте программы, независимо от того был клик или нет. Иначе говоря trace вне функции clickHandler выполняется ДО клика, trace внутри функции clickHandler - после клика.

Chelovek
12.06.2013, 13:10
gloomyBrain, большое спасибо за объяснение.