我有一个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
谢谢!
答案 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'的情况下访问该变量。