最近开发用到了对象深度复制和获取对象的属性名称列表,都是自己琢磨出来写函数来实现,写得我可谓是呕心沥血。 复制指定对象并返回对该副本的引用。该副本使用本机序列化技术生成。这意味着在复制过程中将遵循该自定义的序列化。 该方法设计用于复制数据对象,如集合的元素。不能用于复制 UIComponent 对象,如 TextInput 控件。如果要创建特定 UIComponent 对象的副本,可创建该组件的子类并实现 参数 返回指定对象的关于该类以及该类的属性的信息。 参数
谁知今天无意中发现AS3已提供ObjectUtil这样一个类来实现相关的操作:
public static function copy(value:Object):Object
clone() 方法,或执行复制的其它方法。value:Object — 应复制的对象。Object — 指定对象的副本。public static function getClassInfo(obj:Object, excludes:Array = null, options:Object = null):Object
obj:Object — 要检查的 Object。 excludes:Array (default = null) — 指定应从返回结果中排除的属性名称的字符串数组。例如,可以指定 Event 对象的 ["currentTarget", "target"],因为这些属性可导致返回结果变大。 options:Object (default = null) — 该对象包含一个或多个属性,控制由该方法返回的信息。这些属性包括:
includeReadOnly:如果为 false,则排除只读对象属性。默认值为 true。includeTransient:如果为 false,则排除具有 [Transient] 元数据的对象属性和变量。默认值为 true。uris:输出中要包括的所有命名空间的字符串数组。允许使用“*”通配符。默认情况下为 null,表示没有应包括的命名空间。例如,可指定 ["mx_internal", "mx_object"] 或 ["*"]。 Object — 对象包含下列属性:
name:包含类的名称的字符串;properties:所指定对象的属性名称的经过排序的列表,或为对原始键的引用(如果所指定对象为 Dictionary)
使用ObjectUtil进行深度复制及获取对象的属性名称列表
最新推荐文章于 2025-09-26 13:57:09 发布
本文介绍AS3中ObjectUtil类的copy方法用于深度复制对象,以及getClassInfo方法获取对象的属性名称列表。提供了如何使用这两个方法的具体说明。
copy方法
715

被折叠的 条评论
为什么被折叠?



