编辑代码

function deepClone(obj){
    var objclone = Array.isArray(obj)?[]:{}
    if(obj&&typeof obj==="object"){
        for(key in obj){
            if(obj.hasOwnProperty(key)){
                if(obj[key]&&typeof obj[key]==="object"){
                    obj[key] = deepClone(obj[key])
                }else{
                    objclone[key] = obj[key]
                }
            }
        }
    }
    return objclone
}
var person={
    a:2,
    b:12,
    c:24
}
const {log} = console
var per = deepClone(person)
var p = Object.create(person)
log(p.a)
log("原对象"+person.a,person.b,person.c)
log("Object.create拷贝对象"+p.a,p.b,p.c)
log("深拷贝对象"+per.a,per.b,per.c)
person.a=23
log("修改后的原对象"+person.a,person.b,person.c)
log("修改原对象后Object.create拷贝对象"+p.a,p.b,p.c)
log("修改原对象后的深拷贝"+per.a,per.b,per.c)