数组
浅拷贝:不仅拷贝值也拷贝引用,比如concat,slice ,利用了他们返回新数组的特性
神拷贝:只拷贝值 方法:
var arr = ['old', 1, true, ['old1', 'old2'], {old: 1}] var new_arr = JSON.parse(JSON.stringify(arr)) console.log(new_arr);
对象:也一样
浅拷贝:,因为 Object.assign()
拷贝的是属性值。假如源对象的属性值是一个指向对象的引用,它也只拷贝那个引用值。
深拷贝:跟数组一样,还是用json.parse(json.stringify)
在vue 编程的时候,一定要防止浅拷贝,要不然,数据变了,都找不到哪改变的。
深拷贝:还是用json.parse(json.stringify)
参考文章