Resume: i denne vejledning lærer du om JavaScript factory-funktionerne, som er funktioner, der returnerer objekter.
Introduktion til fabriksfunktionerne i JavaScript
en fabriksfunktion er en funktion, der returnerer et nyt objekt. Følgende opretter et personobjekt med navnet john
:
Code language: JavaScript (javascript)
Output:
objektet john
har to egenskaber: firstName
og lastName
og en metode getFullName()
, der returnerer det fulde navn.
Antag at du skal oprette et andet lignende objekt kaldet jane
, du kan duplikere koden som følger:
Code language: JavaScript (javascript)
Output:
objektet jane
har samme egenskaber og metode som objektet john
.
jo mere objekt du vil oprette, jo mere duplikatkode skal du kopiere.
for at undgå at kopiere den samme kode igen og igen, kan du udvikle en funktion, der opretter person
objektet:
Code language: JavaScript (javascript)
når en funktion opretter et objekt, kaldes det en fabriksfunktion. createPerson()
er en fabriksfunktion, fordi den returnerer et nyt person
objekt.
følgende kode bruger createPerson()
fabriksfunktionen til at oprette to objekter john
og jane
:
Code language: JavaScript (javascript)
med fabriksfunktionen opretter du et vilkårligt antal af de person
objekter, du ønsker, uden at duplikere kode.
når du opretter et objekt, kræver objektet et mellemrum i hukommelsen. Hvis du har tusind person
objekter, har du brug for tusind mellemrum i hukommelsen for at gemme disse objekter. Disse personobjekter har imidlertid den samme getFullName()
metode.
for at undgå at gentage den samme getFullName()
funktion i hukommelsen, kan du fjerne getFullName()
metoden fra person
objektet:
Code language: JavaScript (javascript)
og flyt denne metode til et andet objekt:
Code language: JavaScript (javascript)
og før du kalder getFullName()
– metoden på person
– objektet, kan du tildele metoden til behavior
– objektet til person
– objektet som følger:
Code language: JavaScript (javascript)
det bliver sværere, hvis du har mange metoder og skal tildele dem manuelt.
dette er grunden til Object.create()
metoden kommer i spil.
Objektet.Opret () metode
metoden Object.create()
opretter et nyt objekt ved hjælp af et eksisterende objekt som prototype for det nye objekt:
Code language: CSS (css)
så du kan bruge Object.create()
som følger:
Code language: JavaScript (javascript)
nu Kan du oprette person
objekter og kalde metoderne for behavior
objektet:
Code language: JavaScript (javascript)
koden fungerer helt fint. Men i praksis vil du sjældent se fabriksfunktionerne. I stedet vil du se funktionskonstruktørerne eller klasserne.
oversigt
- en fabriksfunktion er en funktion, der returnerer et nyt objekt.
- brug
Object.create()
til at oprette et objekt ved hjælp af et eksisterende objekt som prototype.
- var denne tutorial nyttig ?
- Ja