精华内容
下载资源
问答
  • 对象深浅拷贝

    2021-02-22 20:09:21
    对象深浅拷贝 //对象浅拷贝 function copy(origin,target){ var target=target||{} for(var key in origin){ target[key]=origin[key] } return target } //对象深拷贝 function deepCopy(origin,target){...

    对象深浅拷贝

     //对象浅拷贝
        function copy(origin,target){
            var target=target||{}
            for(var key in origin){
                target[key]=origin[key]
            }
            return target
        }
        //对象深拷贝
        function deepCopy(origin,target){
            var target=target||{};
            for(var key in origin){
                 // origin[key] instanceof Array?[]:{}
       			 // origin[key].constructor===Array?[]:{}
       			 // Object.prototype.toString.call(origin[key]).slice(8,-1)==='Array'?[]:{}
                if(typeof origin[key]==='object'&&origin[key]){
                    target[key]=origin[key] instanceof Array?[]:{}
                    deepCopy(origin[key],target[key])
                }else{
                    target[key]=origin[key]
                }
            }
            return target
        }
        var person={
            name:'lily',
            age:'20',
            hobby:['sing'],
            dog:{
                name:'bao',
                weight:60
            }
        }
        var person1=copy(person)
        console.log(person1.hobby==person.hobby);//true
        var person2=deepCopy(person)
        console.log(person2.hobby==person.hobby);//false```
    
    
    展开全文

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 9,985
精华内容 3,994
关键字:

对象的深浅拷贝