浅拷贝和深拷贝的区别:
浅拷贝 : 只是将数据中所有的数据引用下来,依旧指向同一个存放地址,拷贝之后的数据修改之后,也会影响到原数据的中的对象数据
深拷贝: 将数据中所有的数据拷贝下来,对拷贝之后的数据进行修改不会影响到原数据
实现思路:
- 将要拷贝的数据 obj 以参数的形式传参
- 声明一个变量 ( 假如是 data ) 来储存我们拷贝出来的内容
- 循环obj 中的每一项,判断 obj 上 有这一项
- 将 obj 中的每一个 赋值 给data中的每一项
- 最后 将 这个变量 return 出来即可
代码
var data = {
name:"test", //一会要被拷贝的数据,包含字符串、对象、函数、数组
main:{
a:1,
b:2
},
fn:function