【发布时间】:2021-01-09 06:46:14
【问题描述】:
我已阅读how to clone objects in javascript 并且知道如何从对象中复制属性。但是我不仅想复制对象的属性,而且还希望复制的对象具有父对象所具有的所有方法,但我无法弄清楚如何:
这是发生了什么:
var obj = {
'firstname' : "Harsh", // <<< Parent object
'lastnmae' : "singh",
introduce() {
console.log("Hello I am " + this.firstname);
}
}
var objCopy = JSON.parse(JSON.stringify(obj)); // deep copying the parent object
obj.introduce(); // << works fine when called on the parent object
objCopy.introduce(); // << does not work
// but I thought objCopy is the copy of obj ???
编辑:我不想要浅拷贝,我想要对象的深拷贝。我遇到的大多数方法只复制属性而不是函数。我浏览了其他文章,但没有找到任何答案。
【问题讨论】:
-
函数不能用 JSON 序列化。
-
我不明白你的问题。该问题有几十个答案,其中大多数不使用 JSON。 JSON 的答案清楚地表明,如果对象包含函数,它们将不起作用。
-
看到这个Clone The Object
标签: javascript oop object