javascript实现深克隆的几种方法

Posted 彼岸花在开

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了javascript实现深克隆的几种方法相关的知识,希望对你有一定的参考价值。

1)普通函数实现

function cloneObject(obj) {
            if (obj === null || typeof obj !== ‘object‘) {
                return obj;
            }
            var temp = obj.constructor(); // give temp the original obj‘s constructor
            for (var key in obj) {
                temp[key] = cloneObject(obj[key]);
            }
            return temp;
}
        var bob = {
            name: "Bob",
            age: 32
        };

        var bill = cloneObject(bob);
        bill.name = "Bill";

        console.log(bob);
        console.log(bill);

2)通过json方法实现

var bob = {
    name: "Bob",
    age: 32
};
 
var bill = (JSON.parse(JSON.stringify(bob)));
bill.name = "Bill";
 
console.log(bob);
console.log(bill);

3)jquery中的$.extend

var bob = {
    name: "Bob",
    age: 32
};
 
var bill = $.extend(true, {}, bob);
bill.name = "Bill";
 
console.log(bob);
console.log(bill);

 

 

  

以上是关于javascript实现深克隆的几种方法的主要内容,如果未能解决你的问题,请参考以下文章

Day_4——JavaScript复制数据的几种级别-递归实现深拷贝-数组常用的方法

实现深拷贝的几种方法

JavaScript继承的几种实现

JS 中深拷贝的几种实现方法

通过项目实战学习:深拷贝与浅拷贝的内涵,实现深拷贝的几种方法,深拷贝解决项目异常bug

a标签调用js的几种方法