WEB开发网
开发学院网页设计JavaScript Javascript中的浅拷贝和深拷贝 阅读

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 拷贝 拷贝

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接