深拷贝和浅拷贝
深拷贝:主要是将另一个对象的属性值拷贝过来之后,另一个对象的属性值并不受到影响,因为此时它自己在堆中开辟了自己的内存区域,不受外界干扰。
浅拷贝:主要拷贝的是对象的引用值,当改变对象的值,另一个对象的值也会发生变化。
深拷贝:json方法实现
this.lastPageParam = JSON.parse(JSON.stringify(window._array))//深拷贝
==>
deepClone(window._array){
let firstObj = JSON.stringify(window._array)//将对象转化成json字符串
let secondObj = JSON.parse(firstObj)//将json穿转换后才能给原生js对象
return secondObj
}
let lastPageParam = this.deepClone(window._array)
浅拷贝:object.assign方法
let beforeCopy = [];
let afterCopy = [a,b,c,d];
Object.assign(beforeCopy,afterCopy)