찾다

 >  Q&A  >  본문

javascript - 크롬에서 js 참조 유형에 발생한 문제

참조 유형과 관련하여 값 할당은 힙 메모리의 복사본일 뿐입니다. 즉, 여러 변수가 동일한 힙 메모리를 가리킵니다. 그런데 Chrome에서 테스트할 때 이런 상황이 발생했습니다. 전문가들이 답변해 주셨으면 좋겠습니다

아래 사진에서

  1. 변수 a를 만들고 여기에 빈 개체를 할당했습니다

  2. 변수 a를 변수 b에 할당

  3. a속성 이름 추가

  4. a로그아웃

참조 유형의 사용에 따르면 a가 취소되면 객체는 더 이상 존재하지 않아야 하지만 b는 여전히 이 참조를 가지고 있습니다. 내 질문은 이것입니다. b의 결과 출력이 null이 아니어야 합니까?

过去多啦不再A梦过去多啦不再A梦2863일 전909

모든 응답(2)나는 대답할 것이다

  • 高洛峰

    高洛峰2017-05-19 10:46:03

    예:
    a = {}; 메모리에 있는 {}의 이름이 0x2334c;
    b = a; 실제 실행은 b = 0x2334c;
    a = null입니다.
    그러나 b는 여전히 0x2334c를 참조하므로 0x2334c는 파괴되지 않습니다.
    b와 a = null이 아닌 이상;

    회신하다
    0
  • 滿天的星座

    滿天的星座2017-05-19 10:46:03

    a와 b는 모두 동일한 주소 c를 가리킵니다. a=null로 설정하면 a는 더 이상 c를 가리키지 않습니다. 그러나 b는 여전히 c를 가리킵니다. 그거

    회신하다
    0
  • 취소회신하다