【前端js】实现一个函数可以对JavaScript中的5种主要数据类型进行赋值

来源:互联网 发布:女子不孕不育网络咨询 编辑:程序博客网 时间:2024/05/07 15:51
//实现一个函数,可以对JavaScript中的5种主要数据类型(Number,String,Boolean,
//Array,Object)进行复制
function clone(obj){
var o;
switch(typeof obj){
case "undefined": break;
case "number": o=obj-0;break;
case "string": o=obj+"";break;
case "boolean":o=obj; break;
case "object":
//可能为null,或者数组,或者对象
if(obj===null)
o=null;
else{

if(Object.prototype.toString.call(obj).slice(8,-1)==="Array"){

//注意Object.prototype.toString.call(obj)返回的是一个字符串'[object Array]',slice(8,-1)包括第一个括号,所以是8不是7

o=[];


for(var i=0;i<obj.length;i++){
o[i]=obj[i];
}
console.log(o);
}
else{
  o=new Object();
  for(var p in obj){
  var name=p;
  var value=obj[p];
  o[name]=value;
  }
}
}
break;
default:

}
return o;
}
0 0
原创粉丝点击