JavaScript实现深、浅拷贝以及区别

1.浅拷贝只是拷贝一层,更深层次对象级别的拷贝只是拷贝了地址(也就是拷贝引用)
JavaScript实现深、浅拷贝以及区别
对于复杂数据类型来说,比如上面这个obj对象中再次嵌套一个对象,这个对象会在内存中重新开辟一块内存空间,并且指向他;而利用上面这种方式进行拷贝时,新拷贝出来的数据内部对象依然指向之前的内存,如果说修改拷贝出来的这个对象的内部对象的值,之前的值也会被改变。
2.深拷贝是拷贝多层,每一级别的数据都会拷贝。
JavaScript实现深、浅拷贝以及区别
深拷贝Obj中的对象或者数组,会在内存中也会开辟出新的内存空间,所后面修改Obj中的对象或者数组都不会影响之前的数据。