선단부 (26) ~ 학습 JS 학습 (IV) 참조 데이터 유형 VS 기본 데이터 형식

이전 글에서, 우리는 변수는 다음과 같은 데이터 유형이 도입 :

  • 기본 데이터 형식 (값 형식) : 문자열 문자열, 숫자 값, 부울 부울 값, 널 널 (null), 정의되지 않은 정의되지 않음.

  • 참조 데이터 유형 (참조 형) : Object 객체.

본 논문에서는 상세한 설명에 대해서는,이 두 가지에 초점을 맞추었다. 예에서 살펴 보자.

기본 데이터 유형은 예를 들어 :

    23 = VAR; 
    var에 B = A, 

    ++; 

    CONSOLE.LOG (A); // 인쇄 결과 : 24 
    CONSOLE.LOG (B); // 결과를 출력 : 23

상기 코드 : 즉, B는 동일하므로 a 및 b가, 기본 데이터 타입 후, 다음의 값을 변경하고, B 값 FOUND는 변경되지 않는다.

 그러나 참조 데이터 유형에서, 다른, 살펴 보겠습니다.

예는 데이터 유형을 참조 :

    새로운 새로운 객체으로 obj1 = VAR (); 
    obj1.name = 'smyh'; 

    // make가 obj2보다 OBJ1 동일 
    VAR obj2보다 =으로 obj1; 

    //으로 obj1의 이름 속성 변경 
    obj1.name = 'VAE를'; 

    을 console.log (obj1.name를) ; // 결과 인쇄 : VAE의 
    CONSOLE.LOG (obj2.name를); // 결과를 인쇄 : VAE를

상기 코드 : OBJ1 후 obj2보다 동등 OBJ1 obj2보다가, 그 값이 obj1.name obj2.name 값이 또한 변경되도록 수정 발견, 참조 데이터 유형.

상기 예로부터, 반영 기본 데이터 타입참조 데이터 유형이있다 분화 에있다.

결국 그게 무슨 차이가 있다고? 우리는 더 아래로 본다.

스택 메모리와 힙 메모리

우리는 첫 번째 문장을 기억 : JS에서, 모든 변수는 스택 메모리에 저장됩니다.

그런 다음 다음과 같은 차이점을 살펴.

기본 데이터 타입 :

스택 메모리에 직접 저장 기본 데이터 타입의 값 . 가치와 독립적 인 존재의 가치 사이에 변수가 다른 변수에 영향을주지 않습니다 수정합니다.

참조 데이터 유형 :

객체는 스택 메모리에 저장됩니다 . 각각의 새로운 객체를 생성, 상기 힙 메모리에 새로운 공간이 개방되며, 변수는 객체의 메모리 어드레스 보유 ( 개체 참조 ) . 두 변수는 변수를 통해 변경된 속성이 다른 영향을받을 것 같은 객체 참조를 보유하는 경우.

 

추천

출처www.cnblogs.com/Vincent-yuan/p/12393050.html