Как динамически генерировать переменные в Action Script 2.0 - PullRequest
1 голос
/ 12 ноября 2009

У меня есть скрипт for loop in action, который я пытаюсь использовать для динамического создания переменной.

Пример

for( i = 0 ; i &lt 3 ; i++)
{
    var MyVar+i = i;
}

после этого для выполнения цикла я хотел бы иметь 3 переменные с именами MyVar1, MyVar2, MyVar3. Я знаю, что приведенный выше код выдаст вам синтаксическую ошибку, но это просто для иллюстрации того, что я пытаюсь сделать. Любой берущий?

Основная причина, по которой я это делаю, заключается в том, что у меня возникают проблемы с областью, отмеченные здесь в этом другом неотвеченном вопросе Action Script: Как передать переменные во встроенные функции в Action Script 2

Спасибо!

Ответы [ 2 ]

4 голосов
/ 12 ноября 2009

Я могу ошибаться (я давно не делал AS2), но я думаю, что вы можете сделать это, используя синтаксис массива:

 for( i = 0 ; i < 3 ; i++)
{
    this["myVar"+i] = i;
}

и затем для доступа к переменной:

var foo = this["myVar0"] //etc
1 голос
/ 12 ноября 2009

Первый ответ правильный, но если вы сделаете класс динамическим (т.е. новые члены могут быть созданы динамически) ...

dynamic class ClassName { // etc. }

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

var foo = this.myVar0;

Вы не сможете получить доступ к переменной вообще без 'this', является ли класс динамическим или нет.

...