对象是否有"孩子"

Jos*_*hua 0 apache-flex actionscript-3

我只是想知道有问题的对象是否有任何子对象.我真的必须这样做:

public static function getLength(o:Object):bool
{
  for (var item:* in o)
    if (item != "mx_internal_uid")
        return true;
  return false;
}
Run Code Online (Sandbox Code Playgroud)

有没有办法说SOMETHING LIKE:Object.hasChildren(); 或者甚至是Object.childCount();

有问题的对象不会扩展DisplayObjectContainer.它就像这样:

var Ob:Object;
Ob.SomeProp="xxx";
Ob.SomeOtherProp="zzz";
Run Code Online (Sandbox Code Playgroud)

我怎么知道对象中有多少"条目".(在这种情况下为2).

换句话说,"for(var item:*in Ob)"如何知道何时停止.???

Rob*_*Bak 5

检查对象的一个​​好方法是在ObjectUtil中构建的flex .我认为你想要实现的目标是通过使用(obj是要分析的对象)来完成的:

ObjectUtil.getClassInfo(OBJ).properties.length

但是如果你试图分析一个对象,ObjectUtil.getClassInfo也是一个好看的地方,它会返回很多信息(在LiveDocs上阅读更多内容).

它还具有检查变量是否是简单变量的功能 - ObjectUtil.isSimple