![](https://i-blog.csdnimg.cn/blog_migrate/aa272398b3c7ec394f8813ed71092908.png)
通过图一可以发现,b是a的拷贝,a的属性值对应的都是简单的基本类型数据,当修改b的属性后,a的属性并没有改变。这个例子说明是深拷贝。
![](https://i-blog.csdnimg.cn/blog_migrate/ea97b6cc3fbb32a9fb694e7aed6239ac.png)
通过图二可以发现,b是a的拷贝,a的属性中存在数组或对象等引用类型,当修改b的属性后,a的属性也发生改变。这个例子说明是浅拷贝。
总结:当拷贝对象的属性值对应的都是简单的基本类型数据,可以理解为深拷贝。当拷贝对象的属性对应的值为数组或对象等引用类型时,为浅拷贝。
通过图一可以发现,b是a的拷贝,a的属性值对应的都是简单的基本类型数据,当修改b的属性后,a的属性并没有改变。这个例子说明是深拷贝。
通过图二可以发现,b是a的拷贝,a的属性中存在数组或对象等引用类型,当修改b的属性后,a的属性也发生改变。这个例子说明是浅拷贝。
总结:当拷贝对象的属性值对应的都是简单的基本类型数据,可以理解为深拷贝。当拷贝对象的属性对应的值为数组或对象等引用类型时,为浅拷贝。