码迷,mamicode.com
首页 > 编程语言 > 详细

JavaScript中的浅拷贝和深拷贝

时间:2017-10-25 15:56:45      阅读:158      评论:0      收藏:0      [点我收藏+]

标签:深拷贝   log   地址   script   复制   因此   java   对象   rip   

浅拷贝:拷贝引用。

拷贝后的新对象和源对象都是指向同一个引用地址,因此彼此之间操作互相影响。

let a = {num:1};

let b = a;

console.log(a===b); //true

a.num = 2;

console.log(b.num);//2

深拷贝:拷贝数据

深拷贝后的新对象在对内存中重新分配内存空间,并把源对象的所有数据都进行新建拷贝,以拷贝出来的新对象的引用跟源对象的引用指向不是同一个地址。

手动复制:手动的把源对象的每个属性依次给新对象的每一个属性。

var one ={a::1,,b:2,c:3};

var two ={a:one,b:one.b,c:one.c};

one.a=10;

console.log(one.a);//10

console.log(two.a)//1

JavaScript中的浅拷贝和深拷贝

标签:深拷贝   log   地址   script   复制   因此   java   对象   rip   

原文地址:http://www.cnblogs.com/langwo/p/7729204.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!