JavaScript는 객체 클론 방법을 직접 제공하지 않습니다. 따라서 다음 코드에서 객체 B가 변경되면 객체 A가 변경됩니다.
a = {k1 : 1, k2 : 2, k3 : 3};
b = a;
b.k2 = 4;
B를 변경하고 상수를 유지하려면 객체 a를 복사해야합니다.
jQuery를 사용하여 객체를 복사하십시오
jQuery를 사용할 수 있으면 jQuery의 자체 확장 방법을 사용하여 객체 복사를 구현할 수 있습니다.
a = {k1 : 1, k2 : 2, k3 : 3};
b = {};
$ .extend (b, a);
Clone () 메소드를 사용자 정의하여 객체 복사를 구현하십시오
다음 방법은 객체 복사의 기본 아이디어입니다.
Object.Prototype.clone = function () {var copy = (이 인스턴스 배열)? [] : {}; for (this in this) {if (! obj.hasownproperty (attr)) 계속; 복사 [attr] = (이 [i] == "object")? obj [att } return copy;}; a = {k1 : 1, k2 : 2, k3 : 3}; b = a.clone ();다음 예제는 더 포괄적이며 대부분의 물체를 깊이 복사하는 데 적합합니다.
함수 클론 (obj) {// 3 가지 간단한 유형을 처리하고 (null == obj || "객체"! = typeof obj) return obj; // 날짜를 처리합니다. if (obj instanceof date) {var copy = new date (); copy.settime (obj.gettime ()); 반환 사본; } // 배열을 처리 if (obj instanceof array) {var copy = []; for (var i = 0, var len = obj.length; i <len; ++ i) {copy [i] = 클론 (obj [i]); } 반환 사본; } // 객체를 처리 할 경우 (obj instanceof Object) {var copy = {}; for (obj in obj) {if (obj.hasownproperty (attr)) copy [attr] = clone (obj [attr]); } 반환 사본; } 새 오류를 던지십시오 ( "OBJ를 복사 할 수 없습니다! 유형이 지원되지 않습니다.");}.위의 기사 JavaScript에서 객체 복사 (객체 클론)에 대한 심층적 인 이해는 내가 공유하는 모든 내용입니다. 나는 그것이 당신에게 참조를 줄 수 있기를 바랍니다. 그리고 당신이 wulin.com을 더 지원할 수 있기를 바랍니다.