在javascript中克隆对象的最佳方法是什么?

在javascript中克隆对象的最佳方法是什么?,javascript,Javascript,我有一个JS类,用作一些数据的包装器: function _item(){ this.property1="hi"; this.property2={ another:"object" } this.somefunction=function(){ //do stuff } } 该类的主要目的是存储并向底层数据提供一些帮助函数;但是该类故意没有不与数据一起存储的状态信息 要将数据上传到NOSQL数据库中,我们不能让这些函数继续存在。因此,目前,我正在使用JSON.parse(

我有一个JS类,用作一些数据的包装器:

function _item(){
 this.property1="hi";
 this.property2={
  another:"object"
 }
 this.somefunction=function(){
  //do stuff
 }
}
该类的主要目的是存储并向底层数据提供一些帮助函数;但是该类故意没有不与数据一起存储的状态信息

要将数据上传到NOSQL数据库中,我们不能让这些函数继续存在。因此,目前,我正在使用
JSON.parse(JSON.stringify(object))
剥离函数


但是我不认为这是最好的方法。还有其他更快或更方便的方法吗?

您可以编写自己的JS代码来完成完全相同的任务,但我怀疑它是否会像内置函数那样高效

见:


您可以编写自己的JS代码来完成完全相同的任务,但我怀疑它是否会像内置函数那样高效

见:


是否必须在每个对象中存储函数?即,不同的对象是否具有不同的功能?因为如果函数都是相同的,你可以继承它们。是的,不,是的,我不想在每个对象中存储函数。事实上,我特别不想要对象中的函数,因为当上传到我的NOSQL数据库时,它会拒绝任何具有函数的对象。函数和类都很好-这取决于如何在没有函数的情况下深度克隆对象。是否必须在每个对象中存储函数?即,不同的对象是否具有不同的功能?因为如果函数都是相同的,你可以继承它们。是的,不,是的,我不想在每个对象中存储函数。事实上,我特别不想要对象中的函数,因为当上传到我的NOSQL数据库时,它会拒绝任何具有函数的对象。函数和类都很好——这取决于如何在没有函数的情况下深度克隆对象。我会接受你的回答,但我觉得有些mod会抱怨“你只是提供了一个链接”,我知道:(在这种情况下,链接是证据,而不是解决方案。示例已添加。整洁。我会接受你的回答,但我觉得有些mod会抱怨“你只是提供了一个链接”,我知道:(在这种情况下,链接是证据,而不是解决方案。添加了示例。