对象深浅拷贝

浅拷贝

function simpleCopy (obj) {
    var o = {};
    for (var i in obj) {
        o[i] = obj[i];
    }
}

var o = {...obj};

深拷贝

//目标对象   源对象
function deepCopy (dest, ori) {
    for (var i in ori) {
        if (typeof ori[i] == 'object') {
            //对象 判断对象类型 若是数组就初始化为[]  若是对象就初始化为{}
            //constructor 构造器  指向它原来的构造函数
            dest[i] = (ori[i].constructor == Array) ? [] : {};
            deepCopy(dest[i], ori[i]);
        }else {
            dest[i] = ori[i];
        }
    }
}
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容