实现一个函数clone,可以对JavaScript中的5种主要的数据类型(包括Number、String、Object、Array、Boolean)进行值复制。
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 j in obj){
o[j] = clone(obj[j]);
}
}
}
break;
default:
o = obj;
break;
} return o;
}