对象的深浅拷贝方法

来源:互联网 发布:腾讯上班知乎 编辑:程序博客网 时间:2024/06/04 23:07

对象的浅拷贝:

Object.assign()
特点: 浅拷贝, 对象的合并

var obj1 = { 'one': { 'two': 2 } }var obj2 = Object.assign({}, obj1)obj1 == obj2 //falseobj2.one.two = 22;obj1.one.two = ? //22 受影响变成22//不过, 如果你只是改变对象的浅层的话,就不会受影响了, 效果如下obj2.one = { 'three': 3 }obj1.one = ? // {two: 22}

JSON.parse(JSON.stringify())
特点: 深拷贝

var obj3 = { 'one': { 'two': 2 } }var obj4 = JSON.parse(JSON.stringify(obj3))//这时候我们拷贝出来的这个obj4的值obj4.one.two = 22obj3.one.two = ? // 2
原创粉丝点击