首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在JavaScript中克隆对象

在JavaScript中克隆对象
EN

Stack Overflow用户
提问于 2011-03-20 04:19:47
回答 4查看 94.9K关注 0票数 71

下面首先记录0,然后记录1。如何存储对象的副本,而不是对它的引用?

代码语言:javascript
复制
debug.log(vi.details.segment);
vi.nextSegment = vi.details;
vi.nextSegment.segment++;
debug.log(vi.details.segment);
EN

回答 4

Stack Overflow用户

发布于 2011-03-22 02:29:01

这对我使用jQuery "parseJSON()“和"JSON.stringify()”克隆对象效果更好。

代码语言:javascript
复制
$.ajax({
  url: 'ajax/test.html',
  dataType: 'json',
  success: function(data) {
    var objY = $.parseJSON(JSON.stringify(data));
    var objX = $.parseJSON(JSON.stringify(data));
  }
});

在objX和objY中克隆数据对象是两个不同的对象,你不必纠结于“按引用”的问题

谢谢!

票数 8
EN

Stack Overflow用户

发布于 2015-09-24 13:41:02

克隆对象的另一种方法是

代码语言:javascript
复制
newObj = JSON.parse(JSON.stringify(oldObj));

但是,如果它包含日期,则要小心。在这种情况下,JSON.parse将返回date.toString()而不是date。

票数 7
EN

Stack Overflow用户

发布于 2015-04-11 06:37:23

这就是我多次复制元素的方式:

首先,我有一个模板:

代码语言:javascript
复制
<div class="forms-container">
    <div class="form-template">
        First Name <input>
         .. a lot of other data ...
        Last Name <input>
     <div>
     <button onclick="add_another();">Add another!</button>
<div>

现在,JavaScript:

代码语言:javascript
复制
function add_another(){
    jQuery(".form-template").clone().appendTo(".forms-container");
}
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5364650

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档