javascript - 在 JavaScript 中克隆一个对象

标签 javascript jquery arrays object clone

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

debug.log(vi.details.segment);
vi.nextSegment = vi.details;
vi.nextSegment.segment++;
debug.log(vi.details.segment);

最佳答案

在 jQuery 中克隆一个对象:

var vi.nextSegment = jQuery.extend({}, vi.details);

注意:以上是浅拷贝:任何嵌套对象或数组都将通过引用进行复制——这意味着您对 vi.nextSegment.obj[prop] 将反射(reflect)在 vi.details.obj[prop] 中。如果您想要一个与原始对象完全分离的全新对象,您将需要进行深度复制(将true 作为第一个参数传递):

var vi.nextSegment = jQuery.extend(true, {}, vi.details);

要阅读有关扩展的更多信息,请参阅 here.

关于javascript - 在 JavaScript 中克隆一个对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5364650/

相关文章:

arrays - 为什么 Range#select 会产生一个 Array 对象?

javascript - 搜索 - native 处理还是进行 API 调用? (Android、Node.JS、MongoDB 后端)

javascript - 如何从javascript中的字符串对象中删除一组字符

javascript - 包含的 Javascript 脚本的加载顺序

javascript - 如何刷新 jQuery .each() 函数?

javascript - JS触发值检查更改和加载文档加载后添加到页面的元素

javascript - 正则表达式验证规则

jquery - 如何克隆单选按钮以将其值传递到表单进程

arrays - MatLab - 结构和字段数组

java - 推送到定义的二维数组