js 的深拷贝

Posted 山水一程

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js 的深拷贝相关的知识,希望对你有一定的参考价值。

出处:https://www.cnblogs.com/Chen-XiaoJun/p/6217373.html

function deepClone(initalObj, finalObj) {
    var obj = finalObj || {};
    for (var i in initalObj) {
        var prop = initalObj[i];        // 避免相互引用对象导致死循环,如initalObj.a = initalObj的情况
        if (prop === obj) {
            continue;
        }
        if (typeof prop === \'object\') {
            obj[i] = (prop.constructor === Array) ? prop : Object.create(prop);
        } else {
            obj[i] = prop;
        }
    }
    return obj;
}

var initalObj = {a: [\'1\', {b: \'bbb\'}]}
console.log(deepClone(initalObj));

以上是关于js 的深拷贝的主要内容,如果未能解决你的问题,请参考以下文章

jquery怎样深拷贝一个数组

js的深拷贝特别注意this的深拷贝

js中的深拷贝与浅拷贝

js的深拷贝

JS的深拷贝和浅拷贝

JS中的深拷贝和浅拷贝