사용자 도구

사이트 도구


javascript:clone

차이

문서의 선택한 두 판 사이의 차이를 보여줍니다.

차이 보기로 링크

다음 판
이전 판
javascript:clone [2020/12/30 05:39] – 만듦 taekgujavascript:clone [2025/04/15 10:05] (현재) – 바깥 편집 127.0.0.1
줄 1: 줄 1:
 ====== Clone Function구현 ====== ====== Clone Function구현 ======
- * Clone Function+  Deep Clone Function 
 + 
 +<code javascript> 
 +function clone(obj) { 
 +    var copy; 
 + 
 +    // Handle the 3 simple types, and null or undefined 
 +    if (null == obj || "object" != typeof obj) return obj; 
 + 
 +    // Handle Date 
 +    if (obj instanceof Date) { 
 +        copy = new Date(); 
 +        copy.setTime(obj.getTime()); 
 +        return copy; 
 +    } 
 + 
 +    // Handle Array 
 +    if (obj instanceof Array) { 
 +        copy = []; 
 +        for (var i = 0, len = obj.length; i < len; i++) { 
 +            copy[i] = clone(obj[i]); 
 +        } 
 +        return copy; 
 +    } 
 + 
 +    // Handle Object 
 +    if (obj instanceof Object) { 
 +        copy = {}; 
 +        for (var attr in obj) { 
 +            if (obj.hasOwnProperty(attr)) copy[attr] = clone(obj[attr]); 
 +        } 
 +        return copy; 
 +    } 
 + 
 +    throw new Error("Unable to copy obj! Its type isn't supported."); 
 +
 +</code>
javascript/clone.1609306775.txt.gz · 마지막으로 수정됨: 2025/04/15 10:05 (바깥 편집)