in这个关键字挺有意思的:
package
{
import flash.display.Sprite;
public class TestObjectIn extends Sprite
{
public function TestObjectIn()
{
super();
test();
}
private function test():void{
// var obj:Object = {"t1":1,"t2":2,"t3":3};
var obj:PlayerVO = new PlayerVO();
trace("t1" in obj);
trace("t0" in obj);
for (var key:* in obj){
trace(key);
}
}
}
}
class PlayerVO{
public var t1:String;
public var t2:String;
public var t3:String;
}
输出true,false. for in在这里失效了
如果把obj换成var obj:Object = {"t1":1,"t2":2,"t3":3};
输出true,false.t2,t1,t3
这样for in 就生效了,但顺序不是t1,t2,t3
暂时没有深究