JS 원형 prototype 과proto__용법 실례 분석

본 논문 의 사례 는 JS 원형 prototype 과 를 다 루 었 다.proto__용법여러분 께 참고 하도록 공유 하 겠 습 니 다.구체 적 으로 는 다음 과 같 습 니 다.
먼저 실례 를 하나 봅 시다

function Foo() {
}
var foo = new Foo();
console.log(foo.prototype);// undefined
console.log(foo.__proto__ === Foo.prototype);// true
console.log(Foo.__proto__);  [Function]

Foo.__proto__결 과 는 다음 과 같다.

console.log(Foo.prototype);// [object Object]

Foo.prototype 결 과 는 다음 과 같 습 니 다.

console.log(Foo.prototype.prototype);// undefined
실례 설명:
1.foo 는 Foo 의 인 스 턴 스 입 니 다.함수 가 아니 기 때문에 prototype 이 없습니다.
Foo 는 Function 의 인 스 턴 스 이 고 Function 은 함수 입 니 다.그의 인 스 턴 스 Foo 도 함수 이기 때문에 그들 은 모두 prototype 을 가지 고 있 습 니 다.이 밖 에 Object Array RegExp 등 도 함수 다.Math 는 함수 가 아 닌 new Object()에 불과 합 니 다.
2.구조 함수 의 prototype 은 기본 적 인 상황 에서 new Object()이 고 constructor 속성 도 추가 되 었 습 니 다.그 러 니까 기본적으로 prototype 이 없고 만 있 습 니 다.proto__라 고 적 었 다.
Object.prototype 을 제외 한 모든 대상 은proto__속성,이후 함수 에 만 prototype 속성 이 있 습 니 다.
대상 을 만 들 때 자동 으로 를 만 듭 니 다.proto__속성,구조 함 수 를 가리 키 는 prototype,이 대상 의 속성 에 접근 할 때 접근proto__중 대응 하 는 속성,즉 구조 함수 prototype 은 이렇게 계승 을 실현 합 니 다.
함 수 를 만 들 때 만 prototype 속성 을 만 들 수 있 습 니 다.위의 계승 방식 을 완성 하기 위해 서 입 니 다.
요약:
<1>일반 대상 이 든 함수 대상 이 든 모두 함 축 된 속성 이 있 습 니 다."proto__ “,이 속성 은 우리 가 흔히 말 하 는 원형(속성)이 고 사실은 Object 유형의 대상 이다.
<2>함수 대상 에 대해 서 는 prototype 의 속성 이 하나 더 있 습 니 다.이 는 구조 함수 로 만 든 일반 대상 의""입 니 다.proto__ “속성 은"new XXXT()."와 같 습 니 다.proto__ ===XXX.prototype"은 true 입 니 다.즉,대상 XXX 에는 가 있 습 니 다.proto__속성 은 하나의 지침 으로 XXX 구조 함수 의 prototype 속성 을 가리킨다.
발췌 인터넷
그림(주황색 화살 표 는 초기 관계 입 니 다.녹색 은 var Fish=new Fu 를 실행 합 니 다.생 성,파란색 은 f1=new Fish()를 실행 합 니 다.)

이렇게 f1 을 통과 할 수 있 습 니 다proto__ Fish.prototype 의 속성 에 접근 합 니 다.Fish 는 Function.prototype 이 정의 하 는 속성 에 접근 할 수 있 습 니 다.모든 대상 이 Object.prototype 의 속성 에 접근 할 수 있 습 니 다.
관심 있 는 친 구 는 온라인 HTML/CSS/JavaScript 코드 실행 도 구 를 사용 할 수 있 습 니 다.
자 바스 크 립 트 관련 내용 에 관심 이 있 는 독자 들 은 본 사이트 의 주 제 를 볼 수 있다.
본 고 에서 말 한 것 이 여러분 의 자 바스 크 립 트 프로 그래 밍 에 도움 이 되 기 를 바 랍 니 다.

좋은 웹페이지 즐겨찾기