面试题常考&必考之--js中的对象的浅拷贝和深拷贝(克隆,复制)(下)
这里主要是讲深拷贝:
深拷贝:个人理解就是拷贝所有的层级
1.像对象里再放数组和对象这些叫引用值。开始我们先判断大对象中是否有引用值(数组和小对象),
然后在判断引用值是数组还是对象
2.开始啦:
1》准备工作:
因为对象和数组的返回类型都是object。那么为了在区分它们:
如何判断一个Array:Object.prototype.toString.call()
利用对象的toString可以准确判断是什么类型,call()改变this指向
数组l类型:打印出来会是[Object Array]
所以这样就可以判断是不是数组
2》在遍历数据时 aaa:我们先剔除原型上的东西
bbb:我们找到引用值(类型为object就是引用值)
ccc:我们判断是数组还是对象
3.上代码和结果:(仔细看注释,细读)为了看的更清楚分两屏展示,自己敲代码 把右边的写在下满即可。