深克隆方法总结

127 阅读1分钟

1.构造一个深克隆函数

var a='xm'

    function deepclone(obj){
        
        if(typeof(obj)!='object'){
            return obj  
        }else{
           var tep =Array.isArray(obj)?[]:{}
            for(var key in obj){
                if(typeof(obj[key])==='object'){
                    tep[key]=deepclone(obj[key]) 
                } else {
                    tep[key]=obj[key] 
                }  
            }  
            return tep
        }
   
    }

2利用JSON方法,通过字符串和对象类型的转换实现深克隆

    var obj2=JSON.stringfy(obj)
    obj2=JSON.parse(obj2)

3利用扩展运算符...

    let obj1={
        age:18
     name='zs'
    }
    let obj2={...obj1}
    obj2.age=28
    console.log(obj1.age)//18

对象合并 深拷贝

        let obj4 = Object.assign({},obj1,obj2)