Hva er JavaScript -pekere

Hva er JavaScript -pekere

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)
gjenstand.nummer ++;

Deretter vil vi passere “Ref” -objekt ”til“ Pointer () ” funksjon:

peker (ref);
konsoll.Logg (Ref.Antall);

Å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];
// Tildel-for-referanse
var ref = array1;

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);
konsoll.Logg ("Array:", Array1);
konsoll.Logg ("Referanse:", Ref);

Produksjon

Imidlertid spesielt endre verdiene til "ref”Variabel vil ikke endre originalen”Array1”Verdier:

ref = [3, 4, 34];
konsoll.Logg ("Referanse", Ref);
konsoll.Logg ("Original Array", Array1);

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.