ActionScript 2 вызывает функцию из переменной - PullRequest
1 голос
/ 22 марта 2010

Как я могу вызвать функцию из переменной.

var upfunction = init;
//or
var upfunction = init();

Я пробовал приведенный выше код, и он не работает. Я хочу иметь возможность вызывать эту переменную от нажатия клавиши и изменять функцию переменных. Например.

function init(){
   //Do whatever
}

function init2(){
   //Do another thing
}

var upfunction = init();
if (Key.getCode() == Key.UP)
{
    upfunction;
} 

Потом позже сделаем

upfunction = init2();

Таким образом, я мог бы изменить функцию без большого количества кода. Извините, если это вопрос noob, но все, что я делаю, это скопирую и вставлю код, который я нашел.

1 Ответ

1 голос
/ 23 марта 2010

Вы почти правы с тем, что у вас есть ... просто запомните, что для вызовите функцию, которую вам необходимо включить в скобки: 'upFuntion ();'. Скобки также необходимы при определении функции. Скобки будут содержать любые параметры функции.

Но для ссылки на функцию (например, при присвоении ее переменной) вы не используете скобки: 'upFunction = init;'

Итак, ваш пример будет выглядеть так:

function init1():Void {
    trace("hello this is init1");
}

function init2():Void {
    trace("hey, this is init2");
}

var upFunction:Function = init1;//type declaration is optional but recommended

upFunction();// hello this is init1

upFunction = init2;

upFunction();//hey, this is init2
...