javascript中的重复对象

栏目: JavaScript · 发布时间: 7年前

内容简介:第一个不创建副本,而只是复制引用,因此a和b指向操作后的同一个对象.但是,在第二种情况下,每个属性都是单独复制的,因此在a中创建了对象的“真实”副本(只要属性中只有原始类型,否则你会在更深层次上遇到同样的问题).所以在第一种情况下,如果你改变b.c然后a.c也会改变,而在第二种情况下它不会改变.

我看到两种复制对象的方法

1.

var a={c:1}
var b=a;
alert(b.c);//alert 1

2.

var a={c:2};
var b={};
for (i in a)
{b[i]=a[i];} 
alert(b.c);//alert 1

第一个比第二个短,那么第二个例子的效率是多少?

第一个不创建副本,而只是复制引用,因此a和b指向操作后的同一个对象.

但是,在第二种情况下,每个属性都是单独复制的,因此在a中创建了对象的“真实”副本(只要属性中只有原始类型,否则你会在更深层次上遇到同样的问题).

所以在第一种情况下,如果你改变b.c然后a.c也会改变,而在第二种情况下它不会改变.

翻译自:https://stackoverflow.com/questions/13287297/duplicate-object-in-javascript


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。

复盘

复盘

陈中 / 机械工业出版社 / 2013-7-23 / 29

复盘是围棋中的一种学习方法,指的是在写完一盘棋之后,要重新摆一遍,看看哪里下得好,哪里下得不好,对下得好和不好的,都要进行分析和推演。 柳传志第一个将复盘引入到做事之中,成为联想三大方法论之一,在联想每一个重大决策的背后,都有复盘的身影。 本书完整系统讲述了复盘的内容,清晰了复盘的价值,给出了复盘的操作步骤,我们可以在自己的工作生活中,应用复盘的方法,向自己学习,随时随地的提高自己,把......一起来看看 《复盘》 这本书的介绍吧!

图片转BASE64编码
图片转BASE64编码

在线图片转Base64编码工具

Base64 编码/解码
Base64 编码/解码

Base64 编码/解码

html转js在线工具
html转js在线工具

html转js在线工具