javascript中的重复对象

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

内容简介:第一个不创建副本,而只是复制引用,因此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


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

查看所有标签

猜你喜欢:

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

Ajax for Web Application Developers

Ajax for Web Application Developers

Kris Hadlock / Sams / 2006-10-30 / GBP 32.99

Book Description Reusable components and patterns for Ajax-driven applications Ajax is one of the latest and greatest ways to improve users’ online experience and create new and innovative web f......一起来看看 《Ajax for Web Application Developers》 这本书的介绍吧!

JS 压缩/解压工具
JS 压缩/解压工具

在线压缩/解压 JS 代码

RGB转16进制工具
RGB转16进制工具

RGB HEX 互转工具

XML 在线格式化
XML 在线格式化

在线 XML 格式化压缩工具