원형 체인 관련 개념
function Person(){}
Person.prototype.name = ' ';
Person.pro
var person = new Person();
Person.prototype.constructor === Person; //true
person.__proto__ === Person.prototype; //true
person.name; //
person.sayName(); // :
2. 만약에 이 원형 대상이 다른 구조 함수 맨의 실례라면 Person.prototype.proto가 Man을 가리킵니다.prototype, 실례 person도 맨의 원형 대상에 있는 모든 속성과 방법을 방문한다. 만약에 맨의 원형 대상이 또 Bbb의 실례라면 맨의 원형 대상에도 프로토가 Bbb의 원형 대상을 가리킨다. 이런 식으로 보면 마지막 함수인 Ddd의 원형 대상의 프로토 속성 Object.prototype, Object의 원형 대상의 proto 속성은null을 가리키고 이쪽은 원형 체인의 종점입니다.person은 원형 체인의 모든 원형 대상의 속성과 방법을 접근할 수 있습니다.
function Man(){}
Man.prototype.age = 22;
Man.prototype.showAge = function(){
console.log(' :'+this.age);
}
Person.prototype = new Man();
var person = new Person();
person.showAge(); // :22 //
Person.prototype.__proto__ === Man.prototype; //true
Man.prototype.__proto__ === Object.prototype; //true
Object.prototype.__proto__ === null; //true //
3. 모든 함수는 구조 함수든 일반 함수든 하나의 프로토 속성이 Function의 원형 대상을 가리키고 Function의 원형 대상의 모든 방법과 속성을 사용할 수 있다. Function 원형 대상은 하나의 프로토 속성이 Object를 가리킨다.prototype, 모든 함수는 Function 원형 대상의 모든 속성과 방법을 사용할 수 있고, Object 원형 대상의 모든 방법을 사용할 수 있습니다.구조 함수와 일반 함수의 차이: 구조 함수는 일반적으로 알파벳 대문자이고 일반 함수는 모두 소문자이다.
function Person() {}
function eat() {}
Person.__proto__ === Function.prototype; //true
eat.__proto__ === Function.prototype; //true
Function.prototype.__proto__ === Object.prototype; //true
4. typeof'변수'의 결과가'function'이라면'변수'.proto === Function.prototype, 참고: typeof Object = = ='function'
Object.__proto__ === Function.prototype; //true
5. 속성 찾기 메커니즘: 우리는 어떤 대상의 어떤 속성을 찾으려고 한다. 만약에 우리가 현재 대상에서 찾지 못하면 우리는 원형 체인을 따라 그 대상을 한 단계 위로 찾는다. 만약에 상급자가 찾지 못하면 계속 위로 올라가면 Object를 찾을 수 있다.prototype, 없으면 undefined로 돌아갑니다.