원형 및 원형 체인
1540 단어 보고 있는 좋은 문장을 수집하다.
prototype
와_proto_
, 다른 대상은 이 속성_proto_
밖에 없다. (대조적으로 알 수 있듯이 함수도 대상이다).예를 들면 다음과 같습니다. a._proto_ === a.constructor.prototype( )
constructor , , constructor a,
a prototype a ? 。
그래서 개인적으로 요약하자면 원형 체인은 매우 간단한 것이다.
a = new A();
a의 원형(템플릿)은 바로 A라는 구조 함수이다. a는 A를 통해 새겨진 것이고 a의 아빠(또는 엄마)는 바로 AA의 아빠(또는 엄마)는 누구일까?A는 하나의 구조 함수이다. 그러면 함수는 하나의 대상이고 하나의 구체적인 대상이다. 그러면 그의 아버지와 어머니는 추상적인 대상이다. 즉
Object
Object의 아버지와 어머니는 누구일까. 없어졌다. 그는 이미 끝났다. 그래서 그의 원형은 바로null이다.다시 한 번 예를 들다.
var A = function(){};
var a = new A();
a._proto_
는 바로 실례화 전의 A이고 템플릿은 바로 function이다. 즉A.prototype
Paste_Image.png 그림에서 보듯이
A.prototype
는 function
라는 대상을 가리키고 constructor
는 자기 자신을 가리킨다.그럼
function
의 템플릿은 당연히 Object
입니다. 그래서 A.prototype._proto_
는 function._proto_
와 같습니다. 구체적인 function
의 템플릿은 Object
이고 가장 높은 대상의 템플릿입니다. 없어지면 null
입니다. 다들 아실 거라고 생각합니다.많은 사람들이 그림을 쓰는 것을 보았는데, 사실 모두가 생각하게 할 때 모두 자신의 생각대로 갔다. 반드시 모두 상상할 수 있는 것은 아니다.그래서 밑에 있는 그림 아시죠?
Paste_Image.png
모르면 계속해서 위의 분석을 보아라.
저자: 스티브 문
링크:http://www.jianshu.com/p/5b3193be9bee
출처: 약서
저작권은 작자에게 귀속된다.상업 전재는 작가에게 연락하여 권한을 부여받고, 비상업 전재는 출처를 밝혀 주십시오.