텐센트는 최근 비디오를 학습 교실 내부 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>
결과를 얻을 수 :