闭包3个特性:
1.函数嵌套函数
2.函数内部可以引用函数外部的参数和变量
3.参数和变量不会被垃圾回收机制回收
JSON.stringify(obj) 将类型转换为字符串
JSON.parse(_obj) 转数组类型
使用JSON.stringify(obj)和JSON.parse(_obj)深拷贝
function deepClone(obj){
// let _obj = JSON.stringify(obj);
// let objClone = JSON.parse(_obj);
// return objClone
// }
// let a=[0,1,[2,3],4],
// b=deepClone(a);
// a[0]=1;
// a[2][0]=1;
// console.log(a,b);
使用递归深拷贝
function deepClone(obj){
// let objs = Array.isArray(obj)?[]:{};
// if(obj&&typeof obj==="object"){
// for(key in obj){
// if(obj.hasOwnProperty(key)){
// if(obj[key]&&typeof obj[key]==="object"){
// objs[key] = deepClone(obj[key]);
// }else{
// objs[key]=obj[key];