美文网首页
深拷贝的方式

深拷贝的方式

作者: zhiadd | 来源:发表于2020-03-18 14:54 被阅读0次

1.不支持function----------------------------------

    var obj = {
        name: 'sonia',
        age: 18,
        sub:{
            id:1
        },
        action:function(){
            console.log(this.age);
        }
    }
    var obj2 = JSON.parse(JSON.stringify(obj));
    obj.sub.id = 100;
    console.log(obj2);
    console.log(obj);

2.公共方法--------------------------------------------

    var Animal={
        name: "duobi",
        skin: ["red", "green"],
        child: {
            xxx: "xxx"
        },
        say: function(){
            console.log("I am ", this.name, " skin:", this.skin)
        }
    }
    function deep(dest, obj){
        var o = dest;
        for (var key in obj) {  
            if (typeof obj[key] === 'object'){   //判断是不是对象(是不是数组或对象)
                //constructor判断类型是数组还是对象
                o[key] = (obj[key].constructor===Array)?[]:{};
                deep(o[key], obj[key]);
            } else {
                o[key] = obj[key]
            }
        }
        return o;
    };
    var x = deep({},Animal);
    var y = deep({},Animal);
    x.child.xxx = 'aaaaaa';
    console.log(x);
    console.log(y);

相关文章

  • iOS - Copy 与 MutableCopy

    参考链接 一、深拷贝和浅拷贝#### 深拷贝:对象拷贝 - 直接拷贝内容。 单层深拷贝:这种方式只能够提供一层内存...

  • Javascript中的深拷贝

    JS 中深拷贝的几种实现方法 1、使用递归的方式实现深拷贝 //使用递归的方式实现数组、对象的深拷贝 functi...

  • js深拷贝浅拷贝

    目录 一.数据类型 二.浅拷贝与深拷贝 三.赋值和浅拷贝的区别 四.浅拷贝的实现方式 五.深拷贝的实现方式 一.数...

  • 深拷贝的方式

    1.不支持function---------------------------------- 2.公共方法---...

  • copy和mutableCopy的区别

    copy和mutableCopy的区别 深拷贝和浅拷贝的区别 在OC中对象的拷贝方式有两种:深拷贝和浅拷贝.浅拷贝...

  • IOS开发之深拷贝与浅拷贝

    拷贝的方式有两种:浅拷贝和深拷贝。 从字面意思理解,浅拷贝,只是拷贝了对象的指针,而不是拷贝对象本身。 深拷贝,是...

  • 深拷贝和浅拷贝

    浅拷贝 浅拷贝是对一个对象的顶层拷贝 深拷贝 深拷贝是对于一个对象所有层次的拷贝(递归) 拷贝的其他方式 浅拷贝对...

  • [C++之旅] 15 深拷贝与浅拷贝

    [C++之旅] 15 深拷贝与浅拷贝 拷贝构造函数分为深拷贝和浅拷贝两种方式 浅拷贝只是将被拷贝的对象的成员直接赋...

  • 深拷贝 浅拷贝 - iOS

    对象拷贝的两种方式:深复制 浅复制 ,浅复制不拷贝对象本身,仅拷贝指向对象的指针 (指针拷贝),深复制直接拷贝整个...

  • JS深拷贝的实现方法

    1、使用递归的方式实现深拷贝 2、通过 JSON 对象实现深拷贝 注意:JSON对象实现深拷贝无法实现对对象中方法...

网友评论

      本文标题:深拷贝的方式

      本文链接:https://www.haomeiwen.com/subject/voaqyhtx.html