oldObj는 값이 아니라 객체입니다
예를 들어 var newObj=oldObj;
newObj에 영향을 주지 않고 oldObj를 변경하려면
이와 같은 함수를 작성할 수 있습니다.
function clone(myObj){
if(typeof(myObj) != '객체') return myObj ;
if(myObj == null) return myObj;
var myNewObj = new Object()
for(var i in myObj)
myNewObj[i] = clone (myObj[i]) ;
return myNewObj;}
그런 다음
newObj=clone(oldObj)
를 호출합니다. 그 후 oldObj의 값이 어떻게 되든 상관없습니다. newObj
JavaScript 복사 개체
구문: oElement = object .cloneNode ( bCloneChildren )
매개변수:
bCloneChildren : 선택사항입니다. 부울. false | true
false : 기본값입니다. 객체를 복제할 때 객체의 childNodes 컬렉션은 포함되지 않습니다. 즉, 모든 하위 개체입니다.
true: 객체를 복제할 때 객체의 childNodes 컬렉션을 포함합니다. 즉, 모든 하위 개체입니다.
반환값:
oElement : Object(요소). 새로 복제된 객체에 대한 참조를 반환합니다.
설명:
문서 구조의 개체를 복제합니다.
복제 후 복제된 개체의 ID를 가져올 때 컬렉션이 반환됩니다.
런타임에 이 방법을 사용해도 괜찮습니다. 개체의 닫는 태그가 구문 분석될 때까지 문서 공간이 렌더링되지 않을 수 있습니다.
샘플 코드: