Clase în javascript

Crearea unui designer vă permite să lucrați mai transparent cu un număr mare de obiecte (monotone).

Proprietățile și metodele obiectelor

Atunci când obiectele sunt create prin <> sau prin Object (), atunci controlul asupra denumirilor proprietăților este complicat. Crearea a 10 sau 20 de obiecte identice (de exemplu, bunuri din magazin sau obiecte de joc), puteți face o eroare în numele proprietății, ceea ce va conduce la funcționarea incorectă a script-urilor. Această problemă poate fi rezolvată folosind constructori.







constructori

De obicei (dar nu neapărat!) Constructorul de funcții este numit cu o literă mare. Ca argumente, proprietățile viitoare ale unei anumite instanțe a obiectului sunt trecute. Proprietățile sunt specificate prin accesul la acest cuvânt cheie.

După crearea constructorului, obiectele individuale sunt create de noul operator și sunând la funcția constructor.

Descrierea constructorului eșantionului

  1. funcția Card (de la, la)
  2. this.from = de la;
  3. this.to = to;
  4. >
  5. var card1 = card nou ("Washington", "Beijing");
  6. var card2 = card nou ("Beijing", "Moscova");

În exemplu, constructorul Card () este creat, sunt declarate două variabile card1 și card2 și sunt create obiecte cu numele punctelor de mișcare. Acum puteți accesa proprietățile și obiectele obiectului card2. card2.to, va fi egal cu "Moscova".







Tipurile de date standard au și constructori: Object (), String (), Number () și altele.

Este necesar să lucrați cu prototipuri de constructori încorporați cu atenție, nu este întotdeauna necesar să adăugați proprietăți noi, spre exemplu la matrice. De obicei, adăugarea de proprietăți / metode se realizează de către constructori personalizați.

Un exemplu de lucru cu un prototip al constructorului de carduri

  1. Card.prototype.price = 2e5;
  2. alertă (card2.price);

De asemenea, prin prototip, puteți atribui metode instanțelor de obiecte. Acest lucru este foarte convenabil, deoarece funcția care implementează metoda nu este stocată în fiecare obiect, ci este numită în prototipul constructorului.

moștenire

  1. funcția Card (de la, la)
  2. this.from = de la;
  3. this.to = to;
  4. >
  5. Card.prototype.show = funcție ()
  6. pentru (var p în acest)
  7. console.log (acest [p]);
  8. >
  9. funcția SuperCard (de la, la, comentariu)
  10. this.from = de la;
  11. this.to = to;
  12. = aceasta;
  13. >
  14. SuperCard.prototype = card nou ("Beijing", "Moscova");
  15. SuperCard.prototype.constructor = SuperCar;
  16. var scard = noua SuperCard ("Sankt Petersburg", "Moscova", "Platzcard, № 23");
  17. scard.show ();

Al nouălea rând descrie constructorul care extinde cardul. Extensia se face prin atribuirea unei instanțe a obiectului Card la prototipul constructorului. Acum, referindu-ne la metoda show () din obiectul scard, numim metoda show show ().

Extinderea tipurilor standard

Cu prototipul, puteți adăuga noi proprietăți sau metode la toate obiectele de tip standard. Extinderea ideii constructorilor standard nu este întotdeauna bună - toate obiectele acestui constructor vor dobândi proprietăți noi.

Operatorul instanței

Pentru a verifica dacă un obiect a fost creat utilizând un constructor specific, utilizați operatorul instanță

Exemplul de verificare

  1. alertă (exemplu Scard din SuperCard);
  2. alertă (exemplar de card de card);






Articole similare

Trimiteți-le prietenilor: