간단한은 JS 프로토 타입 및 프로토 타입 체인을 이해하기

생성자는 객체를 생성합니다 :

기능 사람 () 
{ 

} 

var에 사람 = 새로운 사람 (); 
person.name = '티안' ; 
CONSOLE.LOG (person.name);    // 티안

사람이 생성자, 새로운 객체 사람의 ​​사용의 인스턴스를 생성

원기

  각 함수는 프로토 타입 속성이 있습니다

  (널 제외) 각 자바 스크립트 객체가 작성 될 또 다른 객체와 관련된 것,이 객체는 우리가 프로토 타입에서 각 개체 것 "상속"속성 프로토 타입을 부르는 것이다.

함수 는 Person () 
{ 

} 

// 프로토 타입 기능은 단지 몇 가지 속성 
Person.prototype.name = '티안을' ;
 var에 PERSON1 = 새로운 새로운 인격 ();
 var에 PERSON2 = 새로운 새로운 사람을 (); 
을 console.log (person1.name) ;     // 티안 
을 console.log (person2.name);     // 티안

 

 

 프로토

  (널 제외) 각 자바 스크립트 객체라는 속성이 프로토를, 이 속성은 객체의 프로토 타입을 가리 킵니다

기능 사람 () 
{ 

} 

var에 사람 = 새로운 사람 (); 
CONSOLE.LOG (사람 .__ proto__ === Person.prototype);    // 사실

 

 

 건설자

  각 프로토 타입은이 생성자 속성 포인트 생성자 관련된 예를 생성자 함수 프로토 타입 포인트를

함수 인 () 
{ 

} 

CONSOLE.LOG (사람 === Person.prototype.constructor); //참된

 

 

기능 사람 () 
{ 

} 

var에 사람 = 새로운 사람 (); 
CONSOLE.LOG (사람 .__ proto__ === Person.prototype); // 사실 
을 console.log (Person.prototype.constructor === 사람); // 사실 

cosnole.log (Object.getPrototypeOf (사람) === Person.prototype); // 사실

프로토 타입의 예

함수 인 () 
{ 

} 

Person.prototype.name = '티안' ; 

var에 사람 = 새로운 사람 (); 

person.name = 'ANNI' ; 
CONSOLE.LOG (person.name); // ANNI 

삭제 person.name; 
CONSOLE.LOG (person.name); // 티안

  이 예에서 우리는 객체 속성 이름의 인스턴스에 사람을 추가, 우리는 person.name를 인쇄 할 때, 자연적인 결과는 ANNI이다.

  우리는 사람의 이름 속성, 읽기 person.name을 제거 할 때, 이름 속성은 사람 찾을 수 없습니다. 사람의 프로토 타입 객체에있는 사람에서 프로토 Person.prototype 봐입니다, 다행히 우리 이름 속성을 찾아, 그 결과는 티안입니다.

프로토 타입 및 프로토 타입

VAR OBJ = 개체 (); 

obj.name = '티안' ; 
CONSOLE.LOG (obj.name);   // 티안

 

 프로토 타입 체인

  

 

 자바 스크립트 기본과 반대로, 개체의 속성을 복사하지 않습니다, 자바 스크립트는 단순히 그 이름이 상속되도록 말을 더 정확 의뢰, 두 개체, 이러한 객체가 다른 객체의 속성과 기능의위원회를 통해 액세스 할 수 있습니다 사이의 연결을 만들 더.

추천

출처www.cnblogs.com/tg666/p/12059205.html