JavaScript Factory Functions

rezumat: în acest tutorial, veți afla despre funcțiile JavaScript factory care sunt funcții care returnează obiecte.

Introducere în funcțiile din fabrică în JavaScript

o funcție din fabrică este o funcție care returnează un obiect nou. Următoarele creează un obiect persoană numit john:

Code language: JavaScript (javascript)

ieșire:

obiectul john are două proprietăți: firstName și lastName și o metodă getFullName() care returnează numele complet.

să presupunem că trebuie să creați un alt obiect similar numit jane, puteți duplica codul după cum urmează:

Code language: JavaScript (javascript)

ieșire:

obiectul jane are aceleași proprietăți și metode ca și obiectul john.

cu cât doriți să creați mai mult obiect, cu atât trebuie să copiați mai mult cod duplicat.

pentru a evita copierea aceluiași cod din nou și din nou, puteți dezvolta o funcție care creează obiectul person :

Code language: JavaScript (javascript)

când o funcție creează un obiect, se numește funcție din fabrică. createPerson() este o funcție din fabrică, deoarece returnează un nou obiect person.

următorul cod folosește funcția din fabrică createPerson() pentru a crea două obiecte john și jane:

Code language: JavaScript (javascript)

cu funcția din fabrică, creați orice număr de obiecte person pe care le doriți fără a dubla codul.

când creați un obiect, acel obiect necesită un spațiu în memorie. Dacă aveți o mie de obiecte person, aveți nevoie de o mie de spații în memorie pentru a stoca aceste obiecte. Cu toate acestea, aceste obiecte personale au aceeași metodă getFullName().

pentru a evita repetarea aceleiași funcții getFullName() în memorie, puteți elimina metoda getFullName() din obiectul person :

Code language: JavaScript (javascript)

și mutați această metodă într-un alt obiect:

Code language: JavaScript (javascript)

și înainte de a apela metoda getFullName() pe obiectul person, puteți atribui metoda obiectului behavior obiectului person după cum urmează:

Code language: JavaScript (javascript)

va fi mai dificil dacă aveți multe metode și trebuie să le atribuiți manual.

acesta este motivul pentru care metoda Object.create() intră în joc.

Obiectul.create() method

metoda Object.create() creează un obiect nou folosind un obiect existent ca prototip al noului obiect:

Code language: CSS (css)

Deci, puteți utiliza Object.create() după cum urmează:

Code language: JavaScript (javascript)

acum, Puteți crea person obiecte și apelați metodele obiectului behavior :

Code language: JavaScript (javascript)

codul funcționează perfect. Cu toate acestea, în practică, veți vedea rareori funcțiile din fabrică. În schimb, veți vedea constructorii de funcții sau clasele.

rezumat

  • o funcție din fabrică este o funcție care returnează un obiect nou.
  • utilizați Object.create() pentru a crea un obiect folosind un obiect existent ca prototip.
  • a fost util acest tutorial ?
  • nu

You might also like

Lasă un răspuns

Adresa ta de email nu va fi publicată.