美文网首页
深度克隆与浅度克隆

深度克隆与浅度克隆

作者: guangyan24 | 来源:发表于2021-05-17 21:54 被阅读0次

浅度克隆

function clone(origin,target){
    var target = target || {};
    for(var prop in origin){
        target[prop]=origin[prop];
    }
    return target;
}

深度克隆

function deepClone(origin,target){
    var target = target || {};
    var toStr = Object.prototype.toString;
    var arrStr = "[object Array]";
    for(var prop in origin){
        if(origin.hasOwnProperty(prop)){
            if(origin[prop]!="null" && typeof(origin[prop])=='object'){
                if(toStr.call(origin[prop])==arrStr){
                    target[prop]=[];
                }else{
                    target[prop]={};
                }
                deepClone(origin[prop],target[prop]);
            }else{
                target[prop]=origin[prop];
            }
        }
    }
    return target;
}

相关文章

  • 克隆

    浅度克隆 深度克隆

  • 深度克隆与浅度克隆

    浅度克隆 深度克隆

  • js浅度克隆 与 深度克隆

    浅层克隆:当克隆引用值时,两个对象会共用一个引用地址,造成相互的干扰,即我改,它也改。 深层克隆深层克隆:克隆出来...

  • 深度克隆对象

    克隆的概念 浅度克隆:原始类型为值传递,对象类型仍为引用传递。 深度克隆:所有元素或属性均完全复制,与原对象完全脱...

  • 浅克隆与深克隆

    克隆的概念 浅度克隆:原始类型为值传递,对象类型仍为引用传递。深度克隆:所有元素或属性均完全复制,与原对象完全脱离...

  • 原型模式

    定义 用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象克隆(浅度克隆:拷贝值类型或者引用,深度克隆:...

  • java克隆

    java克隆 java克隆分为浅克隆和深克隆,概念如下: 浅拷贝(浅克隆)克隆出来的对象的所有变量都含有与原来的对...

  • js的浅克隆与深度克隆

    克隆 普通克隆 深度克隆

  • java面试clone相关

    1. 克隆相关知识 1.1. 克隆的分类 克隆分为浅克隆(shallow clone)与深克隆(deep clon...

  • Java深复制浅复制解析.md

    Java 克隆概念 Java克隆分为深克隆和浅克隆两种类型。 浅复制(浅克隆)被复制对象的所有变量都含有与原来的对...

网友评论

      本文标题:深度克隆与浅度克隆

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