javascript对象克隆

来源:互联网 发布:广州时代大数据公司 编辑:程序博客网 时间:2024/06/06 06:52

概念

克隆或者拷贝分为2种:浅度克隆(拷贝),深度克隆(拷贝);

  1. 浅度克隆:基本类型为值传递,对象仍为引用传递。
  2. 深度克隆:所有元素或属性均完全克隆,并于原引用类型完全独立,即,在后面修改对象的属性的时候,原对象不会被修改。

描述

 

function cloneObject(obj){

 

2    varo = obj.constructor === Array ? [] : {};
3    for(vari in obj){
4        if(obj.hasOwnProperty(i)){
5            o[i] =typeof obj[i] ==="object" ? cloneObject(obj[i]) : obj[i];
6        }
7    }
8    returno;
9}

 

原创粉丝点击