JavaScript-Objekt-Prototyp

Alle JavaScript-Objekte vererben Attribute und Methoden von Prototypen.

Im vorherigen Kapitel haben wir erfahren, wie wirObjekt-Konstruktor:

Beispiel

function Person(first, last, age, eyecolor) {
    this.firstName = first;
    this.lastName = last;
    this.age = age;
    this.eyeColor = eyecolor;
}
var myFather = new Person("Bill", "Gates", 62, "blue");
var myMother = new Person("Steve", "Jobs", 56, "green");

Selbst versuchen

Wir haben erkannt, dass SieUnmöglichNeue Attribute zu bestehenden Objekt-Konstruktoren hinzufügen:

Beispiel

Person.nationality = "English";

Selbst versuchen

Um einem Konstruktor eine neue Eigenschaft hinzuzufügen, muss diese in die Konstruktionsfunktion eingefügt werden:

Beispiel

function Person(first, last, age, eyecolor) {
    this.firstName = first;
    this.lastName = last;
    this.age = age;
    this.eyeColor = eyecolor;
    this.nationality = "English";
}

Selbst versuchen

Prototyp-Vererbung

Alle JavaScript-Objekte vererben Attribute und Methoden von Prototypen.

Das Datumsobjekt erbt von Date.prototype. Das Arrayobjekt erbt von Array.prototype. Das Personobjekt erbt von Person.prototype.

Object.prototype steht an der Spitze der Prototyp-Vererbungskette:

Das Datumsobjekt, das Arrayobjekt und das Personobjekt erben von Object.prototype.

Eigenschaften und Methoden zu Objekten hinzufügen

Manchmal möchten Sie neuen Attributen (oder Methoden) hinzufügen, die für alle gegebenen Typen bestehender Objekte vorgesehen sind.

Manchmal möchten Sie neue Attribute (oder Methoden) zu Objektconstructoren hinzufügen.

Verwendung prototype Attribute

Die prototype-Attribute von JavaScript erlauben es Ihnen, neue Attribute für Objektkonstruktoren hinzuzufügen:

Beispiel

function Person(first, last, age, eyecolor) {
    this.firstName = first;
    this.lastName = last;
    this.age = age;
    this.eyeColor = eyecolor;
}
Person.prototype.nationality = "English";

Selbst versuchen

Die prototype-Attribute von JavaScript erlauben es Ihnen, neue Methoden für Objektkonstruktoren hinzuzufügen:

Beispiel

function Person(first, last, age, eyecolor) {
    this.firstName = first;
    this.lastName = last;
    this.age = age;
    this.eyeColor = eyecolor;
}
Person.prototype.name = function() {
    return this.firstName + " " + this.lastName;
;

Selbst versuchen

Bitte ändern Sie nurIhre原型。Bitte ändern Sie niemals die Prototypen der Standard-JavaScript-Objekte.