javascript中的重复对象

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

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


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

查看所有标签

猜你喜欢:

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

C语言常用算法分析

C语言常用算法分析

明日科技 / 2012-1 / 39.80元

《C语言学习路线图•C语言常用算法分析》共分为4篇,第1篇为算法基础篇,包括程序之魂——算法、数据结构基础、查找与排序算法、基本算法思想等内容;第2篇为常用算法篇,包括数学算法、矩阵与数组问题、经典算法等内容;第3篇为趣味算法篇,包括数学趣题、逻辑推理题等内容;第4篇为算法竞技篇,包括计算机等级考试算法实例、程序员考试算法实例、信息学奥赛算法实例等内容。 《C语言学习路线图•C语言常用算法分......一起来看看 《C语言常用算法分析》 这本书的介绍吧!

HTML 压缩/解压工具
HTML 压缩/解压工具

在线压缩/解压 HTML 代码

在线进制转换器
在线进制转换器

各进制数互转换器

MD5 加密
MD5 加密

MD5 加密工具