Hva er utførelseskontekst i JavaScript

Hva er utførelseskontekst i JavaScript
Du kan ha kodet i JavaScript i lang tid og kjenne bruken av logikk for enhver spesifikk operasjon, men har du noen gang tenkt på hvordan en funksjon eller variabel opprettholder informasjonen relatert til omgivelsene?

JavaScript -motoren utfører all magien i bakgrunnen ved å lage “Utførelseskontekst”. Den tillater også JavaScript -motoren å kontrollere kodekompleksiteten for utførelsesoppgaven.

Denne skrivingen vil forklare utførelseskontekst og dens typer i JavaScript. Så la oss starte!

Hva er utførelseskontekst i JavaScript

I utførelseskontekst, begrepet “Henrettelse”Henviser til prosessen med å utføre koden, og“Kontekst”Angir miljøet for utførelsen. Så sammen med begge begrepene, fikk vi en definisjon som sier at utførelseskonteksten gir informasjon relatert til miljøet der koden er lagret og utført.

JavaScript utførelseskontekst har tre forskjellige typer:

  • Global utførelseskontekst: JavaScript Global Execution Context er opprettet som standard.
  • Funksjonsutførelseskontekst: Funksjonsutførelseskonteksten opprettes når en funksjon kalles i den medfølgende koden.
  • Evalutførelse ContexT: En “eval ()”Funksjon skaper evalutførelseskontekst.

Vi vil gå gjennom de typer utførelseskontekst i de undergitte seksjonene under.

Merk: Vi bruker et JavaScript Visualizer -verktøy utviklet av UI.Dev for å visualisere utførelseskonteksten som fungerer i JavaScript.

Global utførelseskontekst i JavaScript

Når JS -motoren utfører et program, oppretter det den første utførelseskonteksten. Men før det skaper det en ny utførelseskontekst kjent som “Global utførelseskontekst" eller "Standard kontekst”. Du vet kanskje at JavaScript er et enkelttrådet språk, så det tillater bare å opprette en global utførelseskontekst for å utføre koden.

Åpne JavaScript Visualizer, og uten å legge til noen kode, klikker du på "Løpe”Knapp fra venstre side av skjermen:

Som du kan se, opprettes den globale utførelseskonteksten som standard:

Hver utførelseskontekst (inkludert den globale utførelseskonteksten) omfatter følgende to objekter:

  • Global objekt: Et globalt objekt inneholder funksjoner og variabler som er tilgjengelige i dagens miljø. Det omtales også som en "vindu”Objekt i nettleseren.
  • “Dette” objektet: “dette”Søkeord peker mot det nåværende objektet i utførelsessammenheng.

Følgende avsnitt vil diskutere forskjellige faser av global utførelseskontekst i JavaScript.

Faser av global utførelseskontekst i JavaScript

Det er to faser av den globale utførelseskonteksten i JavaScript: Opprettelse og Henrettelse.

Opprettingsfase av global utførelseskontekst i JavaScript

Som nevnt tidligere opprettes den globale utførelseskonteksten som standard når JavaScript Engine utfører et skript eller program for første gang. Det er kjent som skapelsesfasen av JavaScript Global Execution Context.

Opprettelsesfasen av den globale utførelseskonteksten utfører følgende operasjoner:

  • Vindu/globalt objekt: Et globalt objekt opprettes i opprettelsesfasen, som inneholder informasjonen relatert til variablene, funksjonene og deres indre erklæring.
  • dette objektet: “dette”Objekt opprettes, som peker mot vinduet eller det globale objektet.
  • Variabler: I opprettelsesfasen initialiseres variabler med en "udefinert”Verdi.
  • Funksjoner: Funksjoner er bare erklært og initialisert i opprettelsesfasen.

La oss nå sjekke ut arbeidet med skapelsesfasen ved hjelp av et eksempel.

Eksempel: Opprettingsfase av global utførelseskontekst i JavaScript

Vi vil lage to variabler, “x”Og“y”, Har følgende verdier:

var x = 3;
var y = 2;

Deretter en funksjon som heter “produkt”Er definert som godtar”n1”Og“n2”Parametere:

funksjonsprodukt (n1, n2)
return n1 * n2;

Nå vil vi legge til den ovennevnte koden i JavaScript Visualizer og klikke på "Løpe”Alternativ for å se sin globale utførelseskontekst:

Når JS -motoren utfører det gitte programmet, vil den lagre og sette "x”Og“y”Variable verdier som”udefinert”Og erklærer deretter funksjonen”produkt()”I den globale utførelsessammenheng:

Den globale utførelseskonteksten vil bevege seg mot “Utførelsesfase”Når opprettelsesfasen fullfører sine spesifiserte operasjoner.

Utførelsesfase av global utførelseskontekst i JavaScript

Under Utførelsesfase, JS -motoren utfører sekvensielt koden, utfører deretter verdioppgaveoperasjonen for variablene, og kjører til slutt de ekstra funksjonsanropene.

Funksjonsutførelseskontekst i JavaScript

En ny “Funksjonsutførelseskontekst”Opprettes for hver funksjonsanrop. Funksjonsutførelseskonteksten oppfører seg lik den globale utførelseskonteksten; I stedet for å erklære en “Global objekt”, Javascript -motoren vil lage en“argumenter”Objekt som omfatter en funksjons parametere referanser.

Eksempel: Funksjonsutførelseskontekst i JavaScript

I samme eksempel vil vi legge til følgende linje for å påkalle "produkt()”Funksjon mens du passerer”x”Og“y”Som argumenter:

produkt(x,y);

JavaScript Visualizer vil demonstrere endringene i den globale utførelseskonteksten:

Nå opprettes en ny funksjonsutførelseskontekst, som omfatter opprettings- og utførelsesfasene. Den har også et unikt objekt som heter “argumenter”. Verdien som ble sendt til “produkt()”Funksjon legges til i argumenterobjektet:

Evalsekontekst i JavaScript

I JavaScript, "eval ()”Funksjon konverterer en streng til kjørbar kode. Når denne metoden legges til et JavaScript -program, oppretter det sitt eget "Evalsekontekst”. JavaScript -utviklere bruker ikke “eval ()”Funksjon etter hvert som strengen som sendes til den, kan være ondsinnet, noe som får applikasjonen eller databasen til å krasje. Som et resultat har evalfunksjonen blitt avskrevet.

Vi har gitt all viktig informasjon om Utførelseskontekst i JavaScript. Du kan utforske det videre i henhold til dine krav.

Konklusjon

Utførelseskonteksten opprettes når JavaScript -motoren utfører JavaScript -koden, og den har tre typer: Global, Funksjon, og eval Utførelseskontekst. Det omfatter også to faser: Opprettelse og Henrettelse. De Opprettelsesfase opprettes når programmet kjører for første gang, mens i Utførelsesfase, De spesifiserte verdiene er tilordnet variablene, og ekstra funksjoner påkalles. Denne oppskrivningen forklarte utførelseskontekst og dens typer i JavaScript.