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

JS 深浅拷贝

2016-12-25 18:40 246 查看

首先理解概念

浅拷贝: 只复制对象的基本类型, 对象类型, 仍属于原来的引用。

深拷贝: 不紧复制对象的基本类, 同时也复制原对象中的对象。就是说完全是新对象产生的。

首先看浅拷贝

//浅拷贝
var aAry = ['a','b'];
var b  = aAry;
b[0]='changed';
console.log(aAry);//['changed','b'];


再看深拷贝

//方法一
//Array.prototype.slice()
var a = ['a','b'];
var b = a.slice();
b[0]=1;
console.log(a);//['a','b']

//方法二
//concat()
var a = ['a','b'];
var b = a.concat([]);
b[0]=1;
console.log(a);//['a','b']

//方法三
//JSON.parse(JSON.Stringfly();
var a= ['a','b'];
var b = JSON.parse(JSON.Stringflu(a));
b[0]=1;
console.log(a);//['a','b']
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: