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