您的位置:首页 > Web前端 > JavaScript

javascript中的浅拷贝和深拷贝例子

2016-07-26 16:36 274 查看
参考:

http://blog.csdn.net/yisuowushinian/article/details/45544343

1.js对象浅拷贝

简单的赋值就是浅拷贝。因为对象和数组在赋值的时候都是引用传递。赋值的时候只是传递一个指针。浅拷贝很容易,但是很多时候我们需要原样的把数组或者对象复制一份,在修改值的时候,不改变初始对象的值。

看下面的实例代码:

var a = [1,2,3];

var b =a ;

var test = {name:’xiaohong’, age:15};

var c = test;

console.log(a);

console.log(b);

console.log(test);

console.log(‘——————-‘);

b[0] =5;

c.age = 16;

console.log(a);

console.log(b);

console.log(test);

console.log(c);

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

结果如下:

这里写图片描述

2.js对象深拷贝

因为对象相对较为复杂,所以我们先来看对数组的深拷贝的问题。

数组的深拷贝

//深拷贝

var a = [1,2,3];

var deepArry = [];

/**

* @param 被复制数组

* @param 新数组

*/

function deepCopy(arry1, arry2){

for(var i = 0,l= arry1.length;i
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息