1. 程式人生 > >js 的深拷貝

js 的深拷貝

one func const arr cti nal typeof http pcl

出處: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 的深拷貝