就是假设B复制了A,当修改A时,看B是否会发生变化
深拷贝:如果B没变,那就是深拷贝,自食其力,修成正果
浅拷贝:如果B也跟着变了,说明这是浅拷贝,功力不够
一级深拷贝方法:
(1)slice()不带任何参数,默认返回一个长度和原数组相同的新数组
(2)concat()不带任何参数,把返回数组和一个空数组合并后返回,即返回一个长度和原数组相同的新数组
(3)直接遍历,添加到空数组
(4)ES6三点…扩展运算符
多级深拷贝方法:
(1)JQ的extend方法
语法:$.extend( [deep ], target, object )
①deep表示是否深拷贝,为true为深拷贝,为false为浅拷贝
②target目标对象,其他对象的成员属性将被附加到该对象
③object拷贝源对象
(2)JSON的序列化和反序列化
语法:JSON.parse(JSON.stringify(XXXX))