방법 1
function clone(obj){
var o;
switch(typeof obj){
case 'undefine': 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(obj 인스턴스 오브 배열){
o = [];
for(var i = 0, len = obj.length; i < len; i ){
o. push(clone (obj[i]));
}
}else{
o = {}
for(var k in obj){
o[k] = clone( obj[k ]);
}
}
break;
기본값:
o = obj;break;
return o; }
방법 2
코드 복사
if (obj.constructor == Object){
o = new obj.constructor();
o = new obj.constructor(obj.valueOf());
}
for(var key in obj){
if ( o[key] != obj[key] ){
if ( typeof(obj[ key]) == '객체' ){
o[key] = clone2(obj[key])
}else{
o[key] = obj[key] ;
}
}
o.toString = obj.toString;
o.valueOf = obj.valueOf;
return o; >
방법 3
코드 복사
코드는 다음과 같습니다.
}
}
return o;