首页 > 其他 > 详细

as3 深复制

时间:2020-12-09 15:26:29      阅读:19      评论:0      收藏:0      [点我收藏+]
import flash.utils.ByteArray;

import flash.utils.getQualifiedClassName;

import flash.net.*;

//支持自定义类
//function copy(source:Object) :* {
//
//    var typeName:String = getQualifiedClassName(source);//获取全名
//
//    trace("输出类的结构"+typeName);
//
//    //return;
//
//    var packageName:String = typeName.split("::")[0];//切出包名
//
//    trace("类的名称"+packageName);
//
//    var type:Class = getDefinitionByName(typeName) as Class;//获取Class
//
//    trace(type);
//
//    registerClassAlias(packageName, type);//注册Class
//
//    //复制对象
//
//    var copier:ByteArray = new ByteArray();
//
//    copier.writeObject(source);
//
//    copier.position = 0;
//
//    return copier.readObject();
//
//}

//不支持自定义类
function copy(value:Object):*
{

	var buffer:ByteArray = new ByteArray();

	buffer.writeObject(value);

	buffer.position = 0;

	var result:Object = buffer.readObject();

	return result;

}

var init_arr:Array=[[1,2],[1,2]];
var copy_arr:Array=copy(init_arr);
init_arr[0]=[3,4];
trace("init_arr: "+init_arr);
trace("copy_arr: "+copy_arr);


var init_obj:Object = {name:"name01",data:"data01"};
var copy_obj:Object=copy(init_obj);
init_obj["name"]="dt";
var i:String;
for(i in init_obj){
	trace("init_obj: 键:"+i+" 值: "+init_obj[i]);
}
for(i in copy_obj){
	trace("copy_obj: 键:"+i+" 值: "+copy_obj[i]);
}

  

as3 深复制

原文:https://www.cnblogs.com/dt1991/p/14108146.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!