ObjectCopy 类
ObjectCopy 类是一个静态类,它包括一个静态方法copy,我在http://livedocs.macromedia.com找到了它的解释:Static class with methods for performing copies of in memory objects including nested property arrays. This class is for internal use only.它的功能是对内存中对象进行深度复制,在内存中重新创建一个对象实例,而不仅仅只是引用。这里可以看一个例子:
var obj = new Object ();
obj.date = new Date ();
obj.data = [42, "foo", {nested:"LeeFJ"}];
//进行深度拷贝
var objCopy:Object = mx.utils.ObjectCopy.copy (obj);
trace(obj == objCopy);
trace("Test: " + objCopy.data[2].nested);
输出:
false
Test: LeeFJ
分析:
False 说明obj 和 objCopy 并没有引用同一个对象实例。
然后,还可以有兴趣关注以下ObjectCopy类的实现,我用硕思2005得到了代码,但是在Flash中测试的结果似乎并不怎么理想,总而言之是要使用递规的