arguments.callee를 깊은 복사를 달성

텐센트는 최근 비디오를 학습 교실 내부 JS 지식을 시청 한 후, 그는 조금을했다, 그래서 사용 arguments.callee를 깊은 복사를 달성, 질문의 깊은 사본이있다.

<스크립트 유형 = "텍스트 / 자바 스크립트"> 
			var에 OBJ = { 
				"이름": "小二", 
				"나이": 18, 
				"섹스": "사람", 
				"등급": { 
					"文综": { 
						"历史"100 
						"政治": 80 
					}, 
					"理综"{ 
						"物理"87 
						"化学": 68 
					} 
				} 
				"취미 "[1,1,5,4], [2,3 4,5], [8,7,9,8] 
			}; 
			VAR으로 obj1 = {}; 
			//实现深拷贝
			함수 copyObject (O1, O2) { 
				VAR objc1 = O1; 
				VAR objc2 = O2; 
				(objc1의 소품) {위한 
					경우 (대해서 typeof (objc1 [소품]) + "!"== "
						// 복사 배열 
						objc2 [소품] = []; 
						arguments.callee를 (objc1 [소품, objc2 [소품]) 
					} 
					다른 { 
						// 복사 대상 
						objc2 [소품] = {} 
						[소품 상기 arguments.callee를 (objc1, objc2 [소품]) 
					} 
				} 
				objc2 반환; 
			} 
			CONSOLE.LOG (OBJ)를 // 원래 오브젝트 
			CONSOLE.LOG (copyObject (OBJ, OBJ1) ) // 복사 처 
		</ script>

  

결과를 얻을 수 :

추천

출처www.cnblogs.com/xiaojianwei/p/12209147.html