手写对象深度拷贝

function deepClone(obj = {}) {
    if ( typeof obj !== 'object' || typeof obj == null ) {
        return obj
    }

    let result;
    if ( obj instanceof Array ) {
        result = [];
    } else {
        result = {};
    }

    for(let key in obj) {
        if (obj.hasOwnProperty(key)) {
            result[key] = deepClone(obj[key])
        }
    }
    return result;
}

let obj1 = {
    name:'x',
    age:'18'
};
const obj2 = deepClone(obj1);
console.log(obj2);

 

上一篇:5


下一篇:前端JS优化技巧你值得拥有