如何在Action Script 2.0中动态生成变量

时间:2009-11-12 01:37:58

标签: actionscript dynamic variables

我有一个for循环动作脚本,我试图用来动态创建变量。

实施例

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

在这个for循环运行之后,我希望有3个变量名为MyVar1,MyVar2,MyVar3。我知道上面的代码会给你一个语法错误,但这只是为了说明我想要做的事情。任何人?

我这样做的主要原因是因为我在其他未解答的Action Script问题中注意到了范围问题:How to pass variables into inline functions in Action Script 2

谢谢!

2 个答案:

答案 0 :(得分:4)

我可能是错的(我已经很长时间没有完成AS2了),但我认为你可以使用数组语法来做到这一点:

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

然后进行变量访问:

var foo = this["myVar0"] //etc

答案 1 :(得分:1)

第一个答案是正确的,但如果你让这个类动态化(即可以动态创建新成员)......

dynamic class ClassName { // etc. }

...然后你可以用普通语法引用变量:

var foo = this.myVar0;

如果该类是动态的,您将无法在没有'this'的情况下访问该变量。