Prototyp obiektu JavaScript
- Poprzednia strona Konstruktor obiektów JS
- Następna strona Odwołania do obiektów JS
Wszystkie obiekty JavaScript dziedziczą właściwości i metody z prototypu.
W poprzednim rozdziale nauczyliśmy się, jak używaćKonstruktor obiektu:
Instancja
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");
Zrozumieliśmy, żeNie możnaDodawanie nowej właściwości do istniejącego konstruktora obiektu:
Instancja
Person.nationality = "English";
Aby dodać nową właściwość do konstruktora, musi być ona dodana do funkcji konstruktora:
Instancja
function Person(first, last, age, eyecolor) { this.firstName = first; this.lastName = last; this.age = age; this.eyeColor = eyecolor; this.nationality = "English"; }
Prototypowy dziedziczenie
Wszystkie obiekty JavaScript dziedziczą właściwości i metody z prototypu.
Obiekty daty dziedziczą z Date.prototype. Obiekty tablicowe dziedziczą z Array.prototype. Obiekty Person dziedziczą z Person.prototype.
Object.prototype znajduje się na szczycie łańcucha prototypów:
Obiekty daty, tablicowe i Person dziedziczą z Object.prototype.
Dodawanie właściwości i metod do obiektu
Czasami, chcesz dodać nową właściwość (lub metodę) do wszystkich istniejących obiektów danego typu.
Czasami chcesz dodać nowe atrybuty (lub metody) do konstruktora obiektu.
Użycie prototype
Atrybuty
Atrybut prototype JavaScript pozwala również na dodanie nowych atrybutów do konstruktora obiektu:
Instancja
function Person(first, last, age, eyecolor) { this.firstName = first; this.lastName = last; this.age = age; this.eyeColor = eyecolor; } Person.prototype.nationality = "English";
Atrybut prototype JavaScript pozwala również na dodanie nowych metod do konstruktora obiektu:
Instancja
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; };
Proszę, modyfikuj tylkoSam原型。Nigdy nie modyfikuj prototypu standardowych obiektów JavaScript.
- Poprzednia strona Konstruktor obiektów JS
- Następna strona Odwołania do obiektów JS