Javascript 얕 은 복사,깊 은 복사 실현 코드

'클론'이 뭐야?실제 프로 그래 밍 과정 에서 우 리 는 이런 상황 을 자주 만 나 야 한다.한 대상 A 는 어느 순간 에 A 에 유효한 값 이 포함 되 어 있다.이때 A 와 똑 같은 새로운 대상 B 가 필요 할 수도 있다.그리고 그 후에 B 에 대한 어떠한 변경 도 A 의 값 에 영향 을 주지 않 는 다.즉,A 와 B 는 두 개의 독립 된 대상 이지 만 B 의 초기 값 은 A 대상 에 의 해 확정 된다.자바/javasript 언어 에서 간단 한 할당 문 구 를 사용 하면 이러한 수 요 를 만족 시 킬 수 없습니다.이러한 수 요 를 만족 시 키 려 면 여러 가지 경로 가 있 지만 클론()을 실현 하 는 방법 은 그 중에서 가장 간단 하고 효율 적 인 수단 입 니 다.물론 자 바스 크 립 트 언어 에는 이런 방법 이 없습니다.그래서 저 는 특별히 두 가지 복제 방법 을 썼 습 니 다.하 나 는 얕 은 복사 이 고 하 나 는 깊 은 복사 입 니 다.해석:얕 은 복사(그림자 복제):대상 만 복제 하 는 기본 유형,대상 유형,여전히 원래 의 인용 에 속 합 니 다.딥 복제(깊이 복제):복제 대상 의 기본 클래스 를 사용 하지 않 고 원래 대상 의 대상 도 복사 합 니 다.즉,완전히 새로운 대상 이 생 긴 것 입 니 다.New Document
A 조 대전 형식:

"msg+=obs1.Team+"조,인원 명단:"+obs1.Powers+"
";msg+="1 라운드 후 승리 자 는"+obs1.winner.name+",참가 자 연령:"+obs1.winner.age+",섬나라 에서 왔 습 니 다:"+obs1.winner.from+"
";msg+="

B 조 대전 형식:

"msg+=obj 1clone.Team+"팀,인원 명단:"+obj 1clone.Powers+"
"; msg+="1 라운드 후 승리 자 는:"+obj 1clone.winner.name+",참가 자 연령:"+obj 1clone.winner.age+",국제 경찰 부대 에서 왔 습 니 다:"+obj 1clone.winner.from+"
"; alert(msg); //-->
[Ctrl+A 선택:외부 Js 를 도입 하려 면 페이지 를 새로 고침 해 야 실행 할 수 있 습 니 다.]

좋은 웹페이지 즐겨찾기