阅读背景:

实现一个clone函数并可以对js中的5种主要数据类型进行值复制

来源:互联网 
<!DOCTYPE html>
<html>
<head>
	<meta charset="utf-8">
	<meta http-equiv="X-UA-Compatible" content="IE=edge">
	<title></title>
</head>
<body>
	<script type="text/javascript">
		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 k in obj){
							o[k]=clone(obj[k]);
						}
					}
					break;
				default:
					o=obj;
					break;
			}
			return o;
		}

		//测试
		var a=[12,34,'123'];
		console.log(clone(a));
		var b=null;
		console.log(clone(b));
		var c={1:'a',2:'b',3:'c'};
		console.log(clone(c));
		var b=1;
		console.log(clone(1));
	</script>
</body>
</html><!DOCTYPE html>
<html>
<head>
	<meta charset="u



你的当前访问异常,请进行认证后继续阅读剩余内容。

分享到: