JS 에 대한 참조 와 전송 값

868 단어
JS 기본 데이터 형식 은 undefined, boolean, number, string, null 이 있 으 며 전송 값 할당 입 니 다.그 밖 에 JS 의 다른 유형 은 모두 인용 형식 이 고 변수 에 저 장 된 것 은 값 이 아니 라 주소 입 니 다.
var A = {
    a: function() {
        console.log("    ");
    }
}

var B = { }
B.a = A.a;
B.a(); //     
A.a = function() {
    console.log("    ");
}
B.a(); //     

코드 는 간단 하고 흔 하 며 실수 하기 쉬 운 예 입 니 다. 그 렇 죠?A. a, B. a 는 하나의 변수 일 뿐 function () {} 대상 의 주소, B. a = A. a 를 저장 하고 있 습 니 다. 실제로 A. a 에 저 장 된 주 소 를 B. a 에 복사 합 니 다. A. 에 저 장 된 주소 가 바 뀌 면 B. a 의 주소 에 영향 을 주지 않 습 니 다. B. a 에 저 장 된 주 소 는 예전 에 A. a 가 부여 한 것 입 니 다. B. a 가 A. a 를 가리 키 고 A. a 가 function 을 가리 키 는 것 으로 오인 하지 마 십시오!
사실 저 는 최근 에 es5 의 계승 체 제 를 연구 하고 있 습 니 다. 원형 을 복제 하 는 계승 방법 에 부 딪 혔 을 때 이런 곤 혹 스 러 움 이 생 겼 습 니 다. 이 문 제 를 기록 한 것 도 제 가 나중에 쓴 에 스 5 의 원형 체인 계승 과 원형 체인 의 복사 계승 을 차단 하 는 데 기반 을 다 져 준 셈 입 니 다.

좋은 웹페이지 즐겨찾기