Anmeldelse

Følgende punkter oppsummerer hva du burde ha lært ved å lese denne boken (og undersøke kodeeksemplene). Les hvert sammendrag, og hvis du ikke forstår hva som blir sagt, gå tilbake til emnet i boken.

  • Et objekt består av navngitte egenskaper som lagrer verdier.
  • Mest alt i JavaScript kan fungere som et objekt. Komplekse verdier er objekter, og primitive verdier kan behandles som objekter. Det er derfor du kan høre folk si at alt i JavaScript er et objekt.
  • Objekter er opprettet ved å påkalle en konstruktørfunksjon med ny søkeord, eller ved hjelp av et kortfattet bokstavelig uttrykk.
  • Konstruktorfunksjoner er objekter (Funksjon() objekter), og dermed i JavaScript lager objekter objekter.
  • JavaScript tilbyr ni innfødte konstruktørfunksjoner: Gjenstand(), Array (), Streng (), Nummer(), Boolean (), Funksjon(), Dato(), RegExp (), og Feil(). De Streng (), Nummer(), og Boolean () Konstruktører har to formål å gi a) primitive verdier og b) objektomslag når det er nødvendig, slik at primitive verdier kan virke som objekter.
  • Verdiene null, udefinert, "Streng", 10, ekte, og falsk er alle primitive verdier, uten objekt natur hvis de ikke behandles som et objekt.
  • Når Gjenstand(), Array (), Streng (), Nummer(), Boolean (), Funksjon(), Dato(), RegExp (), og Feil() Konstruktorfunksjoner påberopes ved bruk av ny Søkeord, et objekt opprettes som er kjent som et "komplekst objekt" eller "referanseobjekt."
  • "Streng", 10, ekte, og falsk, i deres primitive former har ingen objektkvalitet før de blir brukt som gjenstander; så skaper JavaScript, bak kulissene, midlertidige wrapperobjekter slik at slike verdier kan virke som objekter.
  • Primitive verdier lagres etter verdi, og kopieres bokstavelig bokstavelig. Komplekse objektverdier derimot lagres ved referanse og kopieres ved referanse.
  • Primitive verdier er lik andre primitive verdier når deres verdier er like, mens komplekse objekter er likestilt bare når de refererer til samme verdi. Det vil si: En kompleks verdi er lik en annen kompleks verdi når begge refererer til samme objekt.
  • På grunn av innholdet i komplekse objekter og referanser har JavaScript-objekter dynamiske egenskaper.
  • JavaScript er mutable, noe som betyr at innfødte objekter og brukerdefinerte objektegenskaper kan manipuleres når som helst.
  • Komme / sette inn / oppdatere en objekts egenskaper utføres ved hjelp av punktnotasjon eller brakettnotasjon. Brakettnotasjon er praktisk når navnet på objektegenskapen som manipuleres, er i form av et uttrykk (f.eks., Array [ 'prototype'] [ 'bli med']. Gjelder ()).
  • Når du refererer til objektegenskaper, brukes en oppslagskjede først til å se på objektet som ble referert til eiendommen. Hvis eiendommen ikke er der, er eiendommen etterspurt på konstruktørfunksjonene prototype eiendom. Hvis den ikke er funnet der, fordi prototypen har en objektverdi og verdien er opprettet fra Gjenstand() konstruktør, er eiendommen etterspurt på Gjenstand() konstruktører prototype eiendom (Object.prototype). Hvis eiendommen ikke er funnet der, er eiendommen fast bestemt på å være udefinert.
  • De prototype oppslagskjede er hvordan arv (aka prototypal arv) var design som skulle oppnås i JavaScript.
  • På grunn av objektets oppslagskjede (aka prototypal arv), arver alle objekter fra Gjenstand() rett og slett fordi prototype Eiendommen er, selv, en Gjenstand() gjenstand.
  • JavaScript-funksjoner er førsteklasses borgere: Funksjoner er objekter med egenskaper og verdier.
  • De dette Søkeord, når det brukes i en funksjon, er en generell måte å referere til objektet som inneholder funksjonen.
  • Verdien av dette bestemmes i løpet av kjøretiden basert på konteksten der funksjonen kalles.
  • Brukes i det globale omfanget, refererer dette søkeordet til det globale objektet.
  • JavaScript bruker funksjoner som en måte å skape et unikt omfang på.
  • JavaScript gir det globale omfanget, og det er i dette omfang at all JavaScript-kode eksisterer.
  • Funksjoner (spesifikt innkapslede funksjoner) skaper en omfangskæde for å løse variable oppslag.
  • Omfangskjeden er satt opp basert på måten koden er skrevet, ikke nødvendigvis av konteksten der en funksjon er påkalt. Dette tillater en funksjon å ha tilgang til omfanget der den ble opprinnelig skrevet, selv om funksjonen kalles fra en annen kontekst. Dette resultatet er kjent som en lukning.
  • Funksjonsuttrykk og variabler deklarert i en funksjon uten bruk av Var bli globale egenskaper. Funksjonserklæringer inne i et funksjonsområde er imidlertid definert i omfanget der de er skrevet.
  • Funksjoner og variabler erklært (uten Var) i det globale omfanget blir egenskaper til det globale objektet.
  • Funksjoner og variabler erklært (med Var) i det globale omfanget blir globale variabler.

Konklusjon

Takk for at du leser!