as3:按字符串(var的名称)引用数组?

时间:2011-02-15 09:51:56

标签: flash actionscript-3 adobe air

是否可以使用它的varname 创建对数组的新引用?

e.g。

private var _myArray:Array = new Array("a","m","d");

...

  function getReference(_varName:String):void
  {

    trace(_varName)//_myArray

    //ok, let's try to create the reference:
    var _reference:Array = Class(getDefinitionByName(_varName)) as Array;

    trace(_myArray.length)//3
    trace(_reference.length)//0

  }

...

2 个答案:

答案 0 :(得分:2)

您可以使用

private var _myArray:Array = new Array("A","B","C");

...

  function getReference(_varName:String):void
  {

    trace(this[_varName].length)//3    
  }

...

答案 1 :(得分:0)

这是可能的。 我认为定义的名称不正确, 您可以使用类的完整定义,如'flash.display.xxx'或您定义的类。 这是参考 http://livedocs.adobe.com/flash/9.0/ActionScriptLangRefV3/flash/utils/package.html#getDefinitionByName%28%29