as3 中的 dynamic Class

as3中只有dynamic class 中的dynamic definitions才可以被枚举(就是for in ),

dynamic class DynamicClass
{
  public var variable:String = "value";
  public function method():void {}
  
  public function DynamicClass()
  {
   
  }
}
但是上面的这个类是不能被枚举的,只有是被动态添加的属性才能被枚举,

dynamic class DynamicClass
{
  public var variable:String = "value";
  public function method():void {}
  
  public function DynamicClass()
  {
   this.var1 = '123';
  }
}
上面的类中var1可以被枚举出来,还有可以用 setPropertyIsEnumerable方法,可以控制某个属性是否可枚举,但它只对dynamic属性有效,比如设置this.setPropertyIsEnumerable("var1 ", false);这样var1就不能被枚举了

你可能感兴趣的:(as3 中的 dynamic Class)