JavaScript-objektin prototyypit
- Edellinen sivu JS-objekti-rakentaja
- Seuraava sivu JS-objekti-otsikointi
Kaikki JavaScript-objektit perivät ominaisuudet ja menetelmät prototyypistä.
Edellisessä luvussa oppimme, miten käyttääObjekti-rakentaja:
esimerkki
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");
Olemme huomanneet, että sinäEi voidaLisääminen olemassa olevaan objekti-rakentajaan uusia ominaisuuksia:
esimerkki
Person.nationality = "English";
Jos haluat lisätä uuden ominaisuuden rakentajaan, sinun on lisättävä se rakentaja-funktion parametrien joukkoon:
esimerkki
function Person(first, last, age, eyecolor) { this.firstName = first; this.lastName = last; this.age = age; this.eyeColor = eyecolor; this.nationality = "English"; }
Prototyypin perintä
Kaikki JavaScript-objektit perivät ominaisuudet ja menetelmät prototyypistä.
Date-objektit perivät Date.prototypesta. Taulukko-objektit perivät Array.prototypesta. Person-objektit perivät Person.prototypesta.
Object.prototype sijaitsee prototyypin perintäketjun huipulla:
Date-objektit, taulukko-objektit ja Person-objektit perivät Object.prototypesta.
Lisääminen objektiin ominaisuuksia ja menetelmiä
Joskus haluat lisätä uusia ominaisuuksia (tai menetelmiä) kaikkiin annettujen tyyppien olemassa oleviin objekteihin.
Joskus haluat lisätä uusia ominaisuuksia (tai menetelmiä) objekti-rakentajiin.
käyttö prototyypin
ominaisuudet
JavaScript-prototyypin ominaisuus mahdollistaa myös uusien ominaisuuksien lisäämisen objekti-rakentajiin:
esimerkki
function Person(first, last, age, eyecolor) { this.firstName = first; this.lastName = last; this.age = age; this.eyeColor = eyecolor; } Person.prototype.nationality = "English";
JavaScript-prototyypin ominaisuus mahdollistaa myös uusien metodioiden lisäämisen objekti-rakentajiin:
esimerkki
function Person(first, last, age, eyecolor) { this.firstName = first; this.lastName = last; this.age = age; this.eyeColor = eyecolor; } Person.prototype.name = function() { palauta this.firstName + " " + this.lastName; };
muuta vainomatprototyyppiä. Älä koskaan muuta vakio-JavaScript-objektin prototyyppejä.
- Edellinen sivu JS-objekti-rakentaja
- Seuraava sivu JS-objekti-otsikointi