생성자는 객체를 생성합니다 :
기능 사람 () { } 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); // 티안
프로토 타입 체인
자바 스크립트 기본과 반대로, 개체의 속성을 복사하지 않습니다, 자바 스크립트는 단순히 그 이름이 상속되도록 말을 더 정확 의뢰, 두 개체, 이러한 객체가 다른 객체의 속성과 기능의위원회를 통해 액세스 할 수 있습니다 사이의 연결을 만들 더.