이번에는 JS의 데이터 유형+참조 유형 딥 및 얕은 복사 및 메모리 할당 문제에 대해 알려드리겠습니다. JS 데이터 유형+참조 유형 딥 및 얕은 복사 및 메모리 할당 사용 시 주의사항은 무엇인가요? . 살펴보자.
js 깊고 얕은 복사 문제
얕은 복사는 일반적으로 기본적인 복사 유형을 말합니다
딥 카피는 일반적으로 참조 유형의 복사본을 의미하며, 참조 유형의 값도 복사합니다
예
h5의 sessionStorage는 strings만 저장할 수 있으므로 json을 저장하려면 JSON.stringify()를 사용하여 json을 문자열로 변환한 다음 JSON.parse()를 사용하여 json으로 변환해야 합니다. 데이터
단점: JSON.parse 및 JSON.stringify는 IE9+ 이상만 지원
이 문제를 해결하려면 깊이 비율 복사 방법을 사용할 수 있습니다
js의 메모리 할당 문제(힙 및 스택)
js의 기본 유형은 일반적으로 스택에 저장됩니다. 이러한 유형은 각각 메모리에서 고정된 크기의 공간을 차지하고 해당 값은 값으로 액세스하는 스택 공간에 저장됩니다.
참조형은 가변 크기의 데이터이지만 주소 크기가 고정되어 있으므로 주소는 스택에 저장되고 값은 힙에 저장됩니다
1. 스택 메모리: 기본 유형을 저장합니다. 힙 메모리: 참조 유형 저장(기본 유형 값을 스택 메모리에 저장하여 이 객체를 참조하는 데 사용되는 객체의 주소를 힙 메모리에 저장합니다.)
2. 기본 유형은 현재 실행 환경이 종료되면 파괴되지만 참조 유형은 실행 환경이 종료될 때 파괴되지 않습니다. 이 객체는 이를 참조하는 모든 변수가 그렇지 않은 경우에만 가비지 수집 메커니즘에 의해 재활용됩니다. 존재하다.
js 기본 데이터 유형 및 참조 유형
기본 데이터 유형에는 숫자 부울 문자열 정의되지 않은 널 기호가 포함됩니다
참조 데이터 유형: 배열 obj 함수
이 기사의 사례를 읽은 후 방법을 마스터했다고 믿습니다. 더 흥미로운 정보를 보려면 PHP 중국어 웹사이트의 다른 관련 기사를 주목하세요!
추천 도서:
위 내용은 JS 데이터 유형 + 참조 유형 깊은 복사와 얕은 복사 및 메모리 할당 문제의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!