JavaScript Object Prototyp
- Föregående sida JS-objektbyggare
- Nästa sida JS-objektreferenser
Alla JavaScript-objekt ärver egenskaper och metoder från prototypen.
I föregående kapitel lärde vi oss hur vi använderObjektkonstruktör:
Exempel
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");
Vi har redan insett att duKan inteLägg till nya egenskaper till befintliga objektkonstruktörer:
Exempel
Person.nationality = "English";
Om du vill lägga till en ny egenskap till en konstruktör, måste du lägga till den till konstruktionsfunktionen:
Exempel
function Person(first, last, age, eyecolor) { this.firstName = first; this.lastName = last; this.age = age; this.eyeColor = eyecolor; this.nationality = "English"; }
Prototypinherkett
Alla JavaScript-objekt ärver egenskaper och metoder från prototypen.
Datumobjekt ärver från Date.prototype. Arrayobjekt ärver från Array.prototype. Person-objekt ärver från Person.prototype.
Object.prototype ligger i toppen av den prototypinherkett
Datumobjekt, arrayobjekt och Person-objekt ärver från Object.prototype.
Lägg till egenskaper och metoder till objekt
Ibland vill du lägga till nya egenskaper (eller metoder) till alla befintliga objekt av en viss typ.
Ibland vill du lägga till nya egenskaper (eller metoder) till objektbyggare.
Använd prototype
Egenskaper
JavaScript prototype-attribut tillåter också att du lägger till nya egenskaper till objektbyggare:
Exempel
function Person(first, last, age, eyecolor) { this.firstName = first; this.lastName = last; this.age = age; this.eyeColor = eyecolor; } Person.prototype.nationality = "English";
JavaScript prototype-attribut tillåter också att du lägger till nya metoder till objektbyggare:
Exempel
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; };
Ändra endastDu självPrototypen. Ändra aldrig standard JavaScript-objektets prototyp.
- Föregående sida JS-objektbyggare
- Nästa sida JS-objektreferenser