Folk kritiserer ofte JavaScript for å være et grunnleggende språk; En nærmere undersøkelse avslører imidlertid at den omhandler kompleksiteten i seg selv. For eksempel i andre programmeringsspråk som Golang, C og C#, The “&” Operatøren brukes til å lage “pekere,”Som refererer til et bestemt minneplassering. Du kan tenke på fraværet av pekerefunksjonalitet i JavaScript, men det er ikke tilfelle. JavaScript har pekere selv om de er implementert annerledes.
Denne oppskrivningen vil diskutere JavaScript -pekere og hvordan de jobber for Primitive datatyper og objekter. Så la oss starte!
Hva er JavaScript -pekere
I JavaScript, “Objektreferanser" er kalt "Pekere”. I stedet for eksplisitt å lagre en primitiv eller objektverdi, lagrer disse pekerne minneadressen der dataene er lagret. Dermed kan den lagrede minneadressen brukes til å referere til dataene indirekte.
Arbeid av JavaScript -pekeren
Når tildelingsoperatøren “=” brukes med objekter, oppretter denne operasjonen en alias (referanser) for det opprinnelige objektet i stedet for å lage et nytt objekt. Så gjør noen endringer i “henvisning”Vil også påvirke det opprinnelige objektet. I tilfelle av primitive datatyper som en matrise, streng og boolsk, opprettes en kopi av den opprinnelige variabelen, og å endre eller omordne referansevariabelen vil ikke endre den opprinnelige variabelen.
Vi vil nå praktisk talt implementere funksjonaliteten til JavaScript-pekere for de primitive og ikke-primitive verdiene.
Eksempel 1: Bruke JavaScript -pekere
Først av alt vil vi lage en "objekt bokstavelig”Kalt”ref”Å ha følgende“nøkkelverdi" par:
var ref = tall: 23;Deretter vil vi lage en "pekeren ()”Funksjon som godtar en“gjenstand”Som et argument som øker dets“Antall" Eiendomsverdi:
funksjonspeker (objekt)Deretter vil vi passere “Ref” -objekt ”til“ Pointer () ” funksjon:
peker (ref);Åpne HTML -filen din i nettleseren og trykk “Ctrl+Shift+J” For å aktivere konsollmodus:
Produksjon
I det ovennevnte programmet, referansen til “Ref” -objekt kopieres over "gjenstand," og begge deler “Objekt” og “Ref” Henvis til det samme “Navnverdi” Par i minnet. Denne uttalelsen betyr også at å endre verdien av "Antall”Eiendom un“pekeren ()”Funksjon vil også påvirke “Nummer” -egenskaper til “Ref”.
Sjekk ut den undergitte GIF for å ha en bedre forståelse av utførelsesprosessen:
Eksempel 2: Bruke JavaScript -pekere
I dette eksemplet vil vi legge til et avsnittselement med en "referanser" -D -ID
Etter å ha gjort det, vil vi erklære en “spill”Objekt som har to“Navnverdi”Par. Deretter vil vi tildele "spill”Objekt som en referanse til avsnittselementet som dets indre HTML -innhold:
Den gitte utgangen sier at for øyeblikket refererer avsnittselementet til et "Gjenstand”:
For å få tilgang til verdien av “spill.innendørs”Eiendom, vi vil legge til følgende linje i vår“indeks.html”Fil:
dokument.getElementById ("Referanser").InnerHTML = spill.innendørs;Som du ser, har nå avsnittselementet med hell fått tilgang til verdien av "spill.innendørs”Eiendom:
Til dette punktet kan du ha forstått hvordan objektreferanser fungerer i JavaScript for objekter. I neste eksempel vil vi sjekke ut arbeidet med JavaScript -pekere for de primitive datatypene.
Eksempel 3: Bruke JavaScript -pekere
I vårt program har vi erklært en rekke som heter “Array1”Og opprettet en referanse”ref”Av den opprinnelige matrisen:
var array1 = [1, 2, 3];Etter det vil vi presse et element til “Array1”. Denne handlingen vil også legge til det spesifiserte elementet til "ref”Variabel fordi den opprettede referansen er kopien av den opprinnelige matrisen:
Array1.Push (0);Produksjon
Imidlertid spesielt endre verdiene til "ref”Variabel vil ikke endre originalen”Array1”Verdier:
ref = [3, 4, 34];Den gitte utgangen viser at verdier av "ref”Variabel endres, men det“Array1”Omfatter de samme originale verdiene og har ikke endret seg:
Vi har samlet den grunnleggende informasjonen relatert til JavaScript -pekere. Du kan videre utforske dette emnet i henhold til dine preferanser.
Konklusjon
Objektreferanser kalles også JavaScript -pekere. I stedet for eksplisitt lagring av en primitiv eller objektverdi, lagrer JavaScript -pekerne minneadressen der dataene er lagret. Dermed kan den lagrede minneadressen indirekte referere til dataene. Denne oppskrivningen diskuterte JavaScript-pekere og hvordan de fungerer for primitive datatyper og objekter.