深拷贝浅拷贝

242 阅读1分钟

所谓拷贝,就是赋值。把一个变量赋给另外一个变量,就是把变量的内容进行拷贝。把一个对象的值赋给另外一个对象,就是把一个对象拷贝一份。

引用类型:就是地址类型。

基本类型:就是值类型,即在变量所对应的内存区域存储的是值

深拷贝和浅拷贝

浅拷贝(shallowCopy)只是增加了一个指针指向已存在的内存地址,存在栈内存中, 仅仅是指向被复制的内存地址,如果原地址发生改变,那么浅复制出来的对象也会相应的改变。

深拷贝(deepCopy)是增加了一个指针并且申请了一个新的内存,使这个增加的指针指向这个新的内存,存放在堆内存中, 在计算机中开辟一块新的内存地址用于存放复制的对象。

基本数据类型和引用数据类型的区别?

基本类型值:指的是保存在内存中的简单数据段;number string 布尔

引用类型值:指的是那些保存在内存中的对象,意思是,变量中保存的实际上只是一个指针,这个指针指向内存****堆中实际的值,** **数组 ****对象