Sammendrag: I denne opplæringen vil du lære om JavaScript factory functions som er funksjoner som returnerer objekter.
Introduksjon til fabrikkfunksjonene I JavaScript
en fabrikkfunksjon er en funksjon som returnerer et nytt objekt. Følgende oppretter et personobjekt som heter john
:
Code language: JavaScript (javascript)
Utgang:
objektet john
har to egenskaper: firstName
og lastName
, og en metode getFullName()
som returnerer hele navnet.
Anta at du må opprette et annet lignende objekt kalt jane
, du kan duplisere koden som følger:
Code language: JavaScript (javascript)
Utgang:
objektet jane
har samme egenskaper og metode som objektet john
.
jo mer objekt du vil opprette, desto mer duplikatkode må du kopiere.
for å unngå å kopiere den samme koden igjen og igjen, kan du utvikle en funksjon som oppretter person
– objektet:
Code language: JavaScript (javascript)
når en funksjon oppretter et objekt, kalles det en fabrikkfunksjon. createPerson()
er en fabrikkfunksjon fordi den returnerer et nytt person
– objekt.
følgende kode bruker createPerson()
fabrikk-funksjonen til å opprette to objekter john
og jane
:
Code language: JavaScript (javascript)
med fabrikkfunksjonen oppretter du et hvilket som helst antall person
objekter du vil ha uten å duplisere kode.
når du oppretter et objekt, krever dette objektet et mellomrom i minnet. Hvis du har tusen person
objekter, trenger du tusen mellomrom i minnet for å lagre disse objektene. Disse personobjektene har imidlertid samme getFullName()
– metode.
for å unngå å gjenta den samme getFullName()
– funksjonen i minnet, kan du fjerne getFullName()
– metoden fra person
– objektet:
Code language: JavaScript (javascript)
og flytt denne metoden til et annet objekt:
Code language: JavaScript (javascript)
og før du ringer getFullName()
– metoden på person
– objektet, kan du tilordne metoden til behavior
– objektet til person
– objektet som følger:
Code language: JavaScript (javascript)
Det blir vanskeligere hvis du har mange metoder og må tilordne dem manuelt.
dette er grunnen til at Object.create()
– metoden kommer inn i spill.
Objektet.create () – metoden
metoden Object.create()
oppretter et nytt objekt ved hjelp av et eksisterende objekt som prototype for det nye objektet:
Code language: CSS (css)
Så du kan bruke Object.create()
som følger:
Code language: JavaScript (javascript)
Nå kan du opprette person
objekter og ringe metodene til behavior
– objektet:
Code language: JavaScript (javascript)
koden fungerer helt fint. Men i praksis vil du sjelden se fabrikkfunksjonene. I stedet vil du se funksjonskonstruktørene eller klassene.
Sammendrag
- en fabrikkfunksjon er en funksjon som returnerer et nytt objekt.
- Bruk
Object.create()
til å opprette et objekt ved hjelp av et eksisterende objekt som prototype.
- Var denne opplæringen nyttig ?
- YesNo