>  기사  >  웹 프론트엔드  >  JavaScript의 객체지향 깊은 복사와 얕은 복사에 대한 간략한 토론

JavaScript의 객체지향 깊은 복사와 얕은 복사에 대한 간략한 토론

高洛峰
高洛峰원래의
2017-01-03 16:01:00910검색

깊은 복사와 얕은 복사를 이해하기 전에 먼저 몇 가지 기본 개념을 이해해야 합니다. 메모리에 저장되는 변수 유형은 값 유형과 참조 유형으로 구분됩니다.

1. 값 유형 할당의 저장 특성은 변수에 있는 모든 데이터를 복사하여 새 변수에 저장합니다.

예: var num = 123; var num1=num;

은 변수에 저장된 숫자가 123임을 의미합니다. 그런 다음 데이터를 복사합니다. 즉, 복사본 123입니다. 그러면 메모리에 2개의 배열이 있습니다. 복사된 데이터를 num2에 할당합니다. 이는 메모리에 두 개의 데이터 복사본이 있다는 특징이 있습니다.

2. 참조 유형 지정.

var o={name:'Zhang San'};

var obj=o;

과제는 변수 o에 저장된 데이터를 복사한 후 이 데이터를 obj에 할당됩니다. 메모리에는 1개의 데이터 포인트가 있으며, obj를 사용하여 수정된 name 속성은 o의 이름에 영향을 미칩니다.

복사할 때 데이터의 모든 참조 구조가 복사되면 데이터는 메모리에 독립적으로 딥 복사됩니다.

복사할 때 현재 개체의 속성만 복사됩니다. , 속성이 고려되지 않는 참조 유형인 경우

복사: 개체 데이터 복사를 참조합니다.

깊은 복사와 얕은 복사에 대해 논의하기 객체의 속성도 참조 유형인지 확인하세요.

JavaScript의 객체지향 Deep Copy와 Shallow Copy에 대해 간략하게 설명한 위 글은 모두 편집자가 공유한 내용이므로 참고가 되셨으면 좋겠습니다. 또한 PHP Chinese를 지원해 주시길 바랍니다. 웹사이트.

JavaScript의 객체지향 깊은 복사와 얕은 복사에 대한 더 많은 기사를 보려면 PHP 중국어 웹사이트를 주목하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.