AS3:使用字符串作为变量

Muh*_*mad 4 actionscript-3

是否有可能从字符串中提取变量名称并将其用作变量

var myvar:String = "flash";
var flash:Number = 10;
trace( myvar as variable );
Run Code Online (Sandbox Code Playgroud)

类似的东西

Tim*_*dik 5

您可以将其用作对象的属性。

public dynamic class MyClass {
    function MyClass(propName:String, propValue:*) {
        this[propName] = propValue;
    }
}
Run Code Online (Sandbox Code Playgroud)

或者

var myvar:String = "flash";
var o : Object = {};
o[myvar] = 10;
trace(o.flash); //10
Run Code Online (Sandbox Code Playgroud)

如果你不知道什么属性名称将是,那么你应该使用dynamic类(Objectdynamic默认)


Mar*_*rty 5

变量名称为字符串可以像这样完成:

this["myvar"] = "flash";
Run Code Online (Sandbox Code Playgroud)

笔记:

  • ReferenceError如果先前未定义属性,则抛出a ,并且this引用不是的对象dynamic.
  • 您当然可以替换this为要使用属性的对象的实例名称,例如mySprite["x"].
  • 您也可以使用此方法调用方法: this["addChild"](mySprite);