이전 기사는 조합 상속을 소개했으며 이제 나머지 상속에 대해 이야기 할 것입니다.
프로토 타입 상속
함수를 호출 하고이 함수로 반환 된 객체를받습니다. 이 객체의 프로토 타입은 함수로 전달 된 매개 변수 객체입니다.
좋다:
함수 personObject (o) {function f () {} f.prototype = O; 새로운 f ();} var person = {이름 : "nicholas", 친구 : [ "shelby", "court", "van"]} var person_one = personObject (person);위의 코드에서 우리는 사람이 person_one의 프로토 타입이라는 것을 알고 있습니다. ES5는 프로토 타입 상속을 정상화하는 방법을 추가했습니다. 이 메소드는 Object.Create ()입니다. 이 방법에는 두 가지 매개 변수가 있습니다. 첫 번째는 위의 사람과 같이 새 개체의 프로토 타입으로서의 객체이고, 두 번째는 새 개체에 대한 추가 속성을 정의하는 객체입니다. 두 번째 매개 변수는 선택 사항입니다.
좋다:
var person_one = object.create (person, {name : {value : "jon"}});한 객체를 다른 물체와 비슷하게 유지하려면 프로토 타입 상속을 사용할 수 있습니다.
기생 상속
함수에서 프로토 타입 상속을 구현 한 다음 수신 된 객체에 고유 한 속성과 메소드를 추가하십시오.
좋다:
함수 createanother (o) {var person_one = personobject (o); person_one.sayhi = function () {alert ( "hi"); } return person_one;}기생 조합 상속
조합 상속에도 단점이 있습니다. 두 가지 속성 상속을 구현하고 기생 조합 상속은이 문제를 피합니다. 인스턴스는 생성자를 통해 속성을 상속하는 반면, 프로토 타입 방법은 기생 상속을 통해 상속됩니다.
좋다:
함수 상속 (하위 유형, SuperType) {var 프로토 타입 = Object (superType.prototype); 프로토 타입 .constructor = 하위 유형; subtype.prototype = 프로토 타입;}위의 함수를 호출함으로써, subtye.prototype의 프로토 타입은 SuperType.prototype이며, 이는 프로토 타입 방법의 상속을 완료합니다.
상속에 대한 위의 JavaScript 분석은 내가 공유하는 모든 콘텐츠입니다. 나는 당신이 당신에게 참조를 줄 수 있기를 바랍니다. 그리고 당신이 wulin.com을 더 지원할 수 있기를 바랍니다.