Hva er samtalestabel i JavaScript

Hva er samtalestabel i JavaScript
En JavaScript -motor regnes som en programvarekomponent som hjelper til med å utføre JavaScript -koden. Selv om de første introduserte JavaScript -motorene ganske enkelt var tolker, i dag, er de et strålende stykke ingeniørvitenskap som bruker "Akkurat i tide”Samling for å øke ytelsen.

Å dekke hvert aspekt av JavaScript -motoren ville være komplisert; Imidlertid er det noen mindre deler i hver JavaScript -motor som gjør det harde arbeidet bak kulissene. “Ring Stack”Er en av de komponentene som tillater oss å utføre koden i en JavaScript -motor jevnt. Klar til å vite mer om Call Stack?

Denne oppskrivningen vil diskutere Call Stack og den fungerer i JavaScript ved hjelp av et passende eksempel. Så la oss starte!

Hva er samtalestabel i JavaScript

JavaScript er et enkelttrådet språk, da det bare bruker ett "Ring Stack”For ledelsen av“Global”Og“Funksjon Utførelseskontekster. Call Stack i JavaScript er en type datastruktur som opprettholder sporene til påkalte og utførte funksjoner.

Vilkår tilknyttet anropsstabel i JavaScript

Trykk, Pop, og Topp er de tre begrepene som ofte brukes mens du diskuterer anropsstabel i JavaScript. For å vite mer om disse vilkårene, sjekk ut den gitte beskrivelsen:

  • Topp: IIT består av det beste elementet i samtalebunken, som kan være en funksjonsanrop. Ringstabelen kan også bare utføre funksjonen som utfører øverstposisjon.
  • Trykk: I anropsstabel, “Trykk”Refererer til å plassere noe på toppen av det. For eksempel, når en funksjon påkalles i JavaScript, opprettes dens utførelseskontekst, og den spesifiserte funksjonen skyves til toppen av anropsstabelen.
  • Pop: “Pop”Er prosessen for å popout det øverste elementet i samtalestabelen. Vanligvis poppes en funksjon når den fullfører utførelsen, og deretter gjenopptar JavaScript -motoren utførelsen der den ble igjen.

Grunnleggende prinsipp for anropsstabel i JavaScript

Call Stack er basert på den siste i første ut (LIFO) Prinsipp, som betyr at den siste funksjonen som presses til den, vil komme ut først når funksjonen kommer tilbake eller fullfører utførelsen.

La oss nå forstå arbeidet med anropsstabel ved hjelp av et eksempel.

Eksempel: Hvordan bruke Call Stack i JavaScript

Først av alt vil vi definere en "produkt()”Funksjon som omfatter to parametere”x”Og“y”:

funksjonsprodukt (x, y)
(returner x * y);

Deretter har vi lagt til en annen funksjon som heter “info ()”Som påkaller“produkt()”Funksjon som retursak:

funksjonsinfo (x, y)
konsoll.Logg ("Produktet av gitt nummer er:");
returprodukt (x, y);

Til slutt opprettes det en variabel som kaller "info ()”Mens jeg passerer”3”Og“6”Som argumenter og viser den returnerte verdien i konsollvinduet:

La A = konsoll.logg (info (3, 6));

Kodeutgangen viser “18”Som produktet av“3”Og“6”Tall:

I løpet av noen få mikrosekunder har vi utdataene fra den medfølgende koden. Vi vil nå undersøke hvordan JavaScript -motoren fungerer bak kulissene for akkurat dette eksemplet.

Arbeider med anropsstabel i JavaScript

Når den gitte koden lastes inn i minnet, er den første operasjonen som JavaScript -motoren utfører skapelsen av Global utførelseskontekst. Etter å ha gjort det, en “global()”Eller“hoved()”Funksjonen legges til topp av Ring Stack slik at skriptet enkelt kan utføres:

Den globale utførelseskonteksten vil bevege seg mot Utførelsesfase ved å kjøre “info ()”Funksjonsanrop. I dette trinnet, "info ()”Funksjon skyves til topp av anropsstabelen når funksjonens utførelseskontekst opprettes:

Som du kan se, “info ()”Funksjonen er på topp av anropsstabelen, og nå vil JavaScript -motoren starte utførelsen:

I følge det gitte skriptet, "info ()”-Funksjonen vil påkalle“produkt()”Funksjon, så JavaScript -motoren vil lage en annen Funksjonsutførelseskontekst for det og da trykk produkt()”Funksjon på topp posisjon:

På dette tidspunktet er alle de nødvendige funksjonene presset til klassebunken i en bestemt sekvens, der "produkt()”Funksjonen er på topp av klassebunken:

Nå starter JavaScript -motoren utførelsen av "produkt()”Funksjon og Pops Det ut fra samtalebunken:

Etter å ha fullført den spesifiserte operasjonen, vil JavaScript -motoren utføre og sprette utinfo ()”Funksjon som eksisterer ved topp av samtalestabelen:

Så snart utførelsen av info () -funksjonen blir komplett, og Ring Stack blir tømme, Javascript -motoren vil Stoppe de henrettelse og gå mot de andre utførelsesoppgavene:

Vi har gitt all den grunnleggende informasjonen relatert til Call Stack og dens arbeid i JavaScript. Du kan utforske det videre i henhold til dine krav.

Konklusjon

Ring Stack I JavaScript er en type datastruktur som opprettholder sporene til påkalte og utførte funksjoner. Trykk, Pop, og Topp er de tre begrepene knyttet til anropsstabel, der toppen består av anropsstabelsens øverste element, viser push til å plassere noe på toppen av anropsstabelen, og pop er prosessen med å sprite det øverste elementet ut av det. Denne oppskrivningen diskuterte Call Stack og den fungerer i JavaScript ved hjelp av et passende eksempel.