Heim >Web-Frontend >js-Tutorial >Zusammenfassung von Vererbungsbeispielen in Javascript-Programmierung_Javascript-Kenntnissen
Die Beispiele in diesem Artikel beschreiben die Vererbung der Javascript-Programmierung. Teilen Sie es als Referenz mit allen. Die Details lauten wie folgt:
Dieser Text ist eine Zusammenfassung nach der Lektüre von „Die Rückkehr des Javascript-Königs“. Die ausführlichen Kapitel des Artikels finden Sie in Kapitel 21 P537
Vererbung implementiert im Allgemeinen die folgenden drei Bedeutungsebenen:
1) Unterklasseninstanzen können Methoden der übergeordneten Klasse teilen;
2) Unterklassen können übergeordnete Klassenmethoden überschreiben oder neue Methoden erweitern
3) Sowohl die Unterklasse als auch die übergeordnete Klasse sind Typen von Unterklasseninstanzen.
Die Unterklasse ruft den Konstruktor der übergeordneten Klasse auf, um sie zu verwalten. Diese Vererbungsmethode kann eine Mehrfachvererbung erreichen, sie kann jedoch nur die allgemeinen Methoden der übergeordneten Klasse erben, keine statischen Methoden erben und Instanz von kann nicht zur Überprüfung verwendet werden Beispiel.
function a(){ this.say=function(){ alert("happy new year!"); } } function b(){ a.apply(this,arguments); } a.prototype.fuck=function(){ alert("%^&%^&%&^%&"); } var oB=new b(); alert(oB instanceof a);// false oB.say(); // happy new year oB.fuck(); // 读不到
Diese Vererbungsmethode erreicht die Wiederverwendung von Verhalten durch das Kopieren eines vorhandenen Prototypobjekts, sodass Objektinstanzen die Eigenschaften des Prototypobjekts gemeinsam nutzen können. Unterstützt Mehrfachvererbung, erbt statische Prototypmethoden und kann Instanzen zum Überprüfen von Instanzen verwenden.
function a(){ this.say=function(){ alert("happy new year!"); } } function b(){} a.prototype.fuck=function(){ alert("%^&%^&%&^%&"); } a.prototype.z=123; b.prototype=new a(); var oB=new b(); alert(oB instanceof a); // true alert(oB.z); // 123 oB.say(); // happy new year oB.fuck(); // %^&%^&%&^%&
Die Konstruktionsmethode kann die statischen Methoden des Typs nicht erben, und die Prototypenvererbung ist unvollständig (die nicht aufzählbaren Methoden einiger Kernobjekte können nicht vererbt werden), während die Instanzvererbungsmethode die nativen Kernobjekte oder DOM-Objekte erben kann Es verwendet den Typ Vererbung, der durch Erstellen und Zurückgeben eines Objekts implementiert wird, sodass die Instanz der Überprüfung falsch ist und Mehrfachvererbung nicht unterstützt wird.
function a(){ var oA=new Array(); oA.say=function(){ alert("hello A!"); } return oA; } var obj=new a(); alert(obj instanceof a); // false obj.say();
Diese Methode simuliert die Vererbung, indem sie alle aufzählbaren Eigenschaften und Methoden des Basisklassenobjekts kopiert, sodass sie eine Mehrfachvererbung simulieren kann. Diejenigen, die nicht aufgezählt werden können, können jedoch nicht vererbt werden.
function a(){ this.num=123; this.say=function(){ alert("happy new year!"); } } function b(){ this.extends=function(obj){ for(each in obj){ this[each]=obj[each]; } } } var oB=new b(); oB.extends(new a()); alert(oB instanceof a); // false alert(oB.num); // 123 oB.say(); // happy new year
Wie der Name schon sagt, geht es darum, die oben genannten Vererbungsmethoden zu kombinieren, um voneinander zu lernen und die Vererbung perfekter zu gestalten. Zu den häufigsten gehört die strukturelle prototypische Vererbung: pseudoklassische Vererbung
function a(){ this.num=123; this.say=function(){ alert("happy new year!"); } } function b(){ a.apply(this); } b.prototype=new a(); b.prototype.z=123; var oB=new b(); alert(oB instanceof a); // true alert(oB.num); // 123 oB.say(); // happy new year
Ich hoffe, dass dieser Artikel für alle hilfreich ist, die sich mit der JavaScript-Programmierung befassen.