克隆函数

function clone(obj){
var o;
switch (typeof obj){
case "undefined":
break;
case "string":o=obj+"";
break;
case "number":o=obj-0;
break;
case "boolean":o=obj;
break;
case "object":{
if(obj===null){
o=null;
}else{
if (Object.prototype.toString.call(obj).slice(8,-1)==="array"){
o=[];
for(var i=0;i<obj.length;i++){
o.push(clone(obj[i]))
}
}else{
o={};
for(var key in obj){
o[key]=clone(obj[key])
}
}
}
}
break;
default :o=obj;
break;
}
return o;
}
原文地址:https://www.cnblogs.com/wangpengfei8313/p/8242789.html