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就不能被枚举了