我喜欢的深克隆
/**
* Created by wangqian on 2017/9/22.
*/
var obj = {name: ["xiao", "dou", "ya"], age: 18};
function deepClone(obj) {
var type;
//首先第一步 判断数据类型
if(obj=="undefind"){
return "undefined"
}else if(obj=="null"){
return "null";
}else {
type = Object.prototype.toString.call(obj).slice(8, -1).toLowerCase();
}
//创建对应的接收容器
var content;
if (type == "object") {
content = {};
} else if (type == "array") {
content = [];
}else {
return obj
};
//递归的方法 循环遍历对象里的元素
for (var key in obj){
if(Object.prototype.toString.call(content[key]).slice(8, -1).toLowerCase()=="object"||"array"){
content[key]=arguments.callee(obj[key]);
}else {
content[key]=obj[key]
}
}
return content
}
发现的一种新的克隆方式