Fiecare obiect JavaScript are un prototip. Prototipul este, de asemenea, un obiect.
Toate obiectele JavaScript moștenesc proprietățile și metodele lor de prototipul lor.
Prototipuri JavaScript
Toate obiectele JavaScript moștenesc proprietățile și metodele de prototipul lor.
Obiectele create folosind un obiect literal, sau cu new Object() , moștenesc de la un prototip numit Object.prototype.
Obiectele create cu new Date() moșteni Date.prototype.
Object.prototype este pe partea de sus a lanțului de prototip.
Toate obiectele JavaScript (Date, Array, RegExp, Function, ....) moștenesc de la Object.prototype .
Crearea unui prototip
Modul standard de a crea un prototip obiect este de a utiliza o funcție de obiect constructor:
Exemplu
function Person(first, last, age, eyecolor) {
this.firstName = first;
this.lastName = last;
this.age = age;
this.eyeColor = eyecolor;
}
Cu o funcție de constructor, puteți utiliza new cuvânt cheie pentru a crea noi obiecte din același prototip:
Exemplu
var myFather = new Person("John", "Doe", 50, "blue");
var myMother = new Person("Sally", "Rally", 48, "green");
Încearcă - l singur » Funcția de constructor este prototipul pentru Person obiecte.
Este considerată o bună practică de a funcției nume constructor, cu o primă literă mare.
Adăugarea Proprietăți și metode pentru obiecte
Uneori doriți să adăugați proprietăți noi (or methods) la un obiect existent.
Uneori doriți să adăugați proprietăți noi (or methods) pentru toate obiectele existente ale unui anumit tip.
Uneori doriți să adăugați proprietăți noi (or methods) la un prototip obiect.
Adăugarea unei proprietăți la un obiect
Adăugarea unei noi proprietăți la un obiect existent este simplu:
Proprietatea va fi adăugat la myFather . Să nu myMother . Să nu orice alte obiecte persoană.
Adăugarea unei metode a unui obiect
Adăugarea unei noi metode de la un obiect existent este, de asemenea, ușor:
Exemplu
myFather.name = function () {
return this.firstName + " " + this.lastName;
};
Încearcă - l singur » Metoda va fi adăugată la myFather . Să nu myMother .
Adăugarea de proprietăți la un prototip
Nu puteți adăuga o nouă proprietate la un prototip același mod ca și adăugați o nouă proprietate într-un obiect existent, deoarece prototipul nu este un obiect existent.
Pentru a adăuga o nouă proprietate la un constructor, trebuie să-l adăugați la funcția de constructor:
Exemplu
function Person(first, last, age, eyecolor) {
this.firstName = first;
this.lastName = last;
this.age = age;
this.eyeColor = eyecolor;
this.nationality = "English"
}
Încearcă - l singur » Proprietățile prototip pot avea valori prototip (default values) .
Adăugarea Metode la un prototip
Funcția dumneavoastră constructor poate defini, de asemenea, metode:
Exemplu
function Person(first, last, age, eyecolor) {
this.firstName = first;
this.lastName = last;
this.age = age;
this.eyeColor = eyecolor;
this.name = function() {return this.firstName + " " + this.lastName;};
}
Încearcă - l singur » Utilizarea prototype de proprietate
JavaScript , prototype proprietate vă permite să adăugați proprietăți noi la un prototip existent:
Exemplu
function Person(first, last, age, eyecolor) {
this.firstName = first;
this.lastName = last;
this.age = age;
this.eyeColor = eyecolor;
}
Person.prototype.nationality = "English";
Încearcă - l singur » Proprietatea JavaScript prototip, de asemenea, vă permite să adăugați noi metode la un prototip existent:
Exemplu
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;
};
Încearcă - l singur » Modifica numai propriile prototipuri. Nu modificați niciodată prototipuri de obiecte JavaScript standard.