Javascript中的浅拷贝和深拷贝
2010-09-14 13:24:10 来源:WEB开发网核心提示:本文示例源代码或素材下载 一、浅拷贝:如果是值类型,则拷贝值;如果是引用类型,Javascript中的浅拷贝和深拷贝,则拷贝引用地址,Object.prototype.shallowClone=function(){varobj=newObject;for(varpropertyinthis){obj[prop
本文示例源代码或素材下载
一、浅拷贝:
如果是值类型,则拷贝值;如果是引用类型,则拷贝引用地址。
Object.prototype.shallowClone=function(){
varobj=newObject;
for(varpropertyinthis){
obj[property]=this[property];
}
returnobj;
}
二、深拷贝:
值类型和引用类型都是重新拷贝。
functiondeepClone(object){
if(object==null)returnnull;
if(("numberbooleanstringundefined").indexOf((typeofobject).toLowerCase())>=0)
returnobject;//值类型直接返回
if(objectinstanceofArray){
varnewArray=[];
for(vari=0;i<object.length;i++){
newArray.push(deepClone(object[i]));
}
returnnewArray;
}
varobj=newObject();
for(varpropertyinobject){
obj[property]=deepClone(object[property]);
}
returnobj;
}
Tags:Javascript 拷贝 拷贝
编辑录入:爽爽 [复制链接] [打 印]更多精彩
赞助商链接