I JavaScript er det To faser av Global utførelseskontekst:
I opprettelsesfasen blir erklæringene relatert til variabler og funksjoner flyttet til toppen av omfanget, kjent som "Heise“. Det regnes også som standardoppførsel til JavaScript.
Dette innlegget forklarer heising i JavaScript sammen med de passende eksemplene. Så la oss starte!
Variabel heising i JavaScript
JavaScript -motoren flytter automatisk variable erklæringer til programmets eller skriptets topp. Denne prosessen er kjent som “Variabel heising”.
Eksempel: Variabel heising i JavaScript
I det undergitte eksemplet har vi erklært en variabel som heter “Antall”Og initialiserte verdien”4“Men før det refererer vi til“Antall”Variabel gjennom“konsoll.Logg()”Metode:
konsoll.logg (nummer);I dette tilfellet "Antall”Variabel erklæring blir automatisk flyttet til skriptets topp. Det er grunnen til at utførelsen av den oppgitte ikke har opplevd noen feil:
Når det gjelder syntaks, ser koden i utførelsesfasen slik ut:
var nummer;Så hva som skjedde i bakgrunnen? JavaScript -motoren tildelte minne til “Antall”Variabel i den globale utførelseskontekstopprettingsfasen og setter deretter verdiene som“udefinert”.
La nøkkelord heise i JavaScript
I JavaScript er variablene definert med "la”Søkeord heises på skriptets topp, men motoren initialiserer dem ikke. Kodeblokken vet om den definerte variabelen; Det kan imidlertid ikke brukes før vi erklærer den spesifiserte variabelen.
Eksempel: La nøkkelord heise i JavaScript
Vi vil erklære det samme “Antall”Variabel ved hjelp av“la”Nøkkelord:
nummer = 6;Den gitte koden vil generere en “ReferenceError" at "Antall”Variabel er ikke definert:
Det møttes “ReferenceError”Betyr også at“Antall”Variabel er plassert i heapminnet, men den er ikke initialisert ennå.
Vi vil prøve å få tilgang til en variabel “alfa”Det eksisterer ikke i minnet. I dette tilfellet vil utdataene vise en annen “ReferenceError" at "alfa”Variabel er ikke definert:
konsoll.logg (alfa);Produksjon
La oss nå sjekke ut hvordan JavaScript -motoren håndterer funksjon heise.
Funksjon heise i JavaScript
Funksjonsdeklarasjonene blir også flyttet til toppen av skriptet av JavaScript -motoren. I likhet med variabler tilbyr JavaScript funksjonaliteten til å heise funksjonerklæringer.
Eksempel: Funksjon heise i JavaScript
I det følgende eksemplet "Legg til()”Funksjonen påberopes før du legger til definisjonen:
La A = 45,Programmet sender imidlertid fremdeles verdien som returneres av "Legg til()”Funksjon:
Når det gitte eksemplet blir utført, tildeler JavaScript -motoren minne til erklæringen om “Legg til()”Funksjon. Mer spesifikt et JavaScript “Gjenstand”Er opprettet i henhold til typen“Legg til()”Funksjonstype og legger også til en“Funksjonsreferanse”Kalt”Legg til,”Som peker mot det opprettede objektet.
Så teknisk sett, i JavaScript-motoren, blir det ovennevnte eksemplet utført som følger:
funksjon add (x, y)Produksjon
Begge de gitte programmene genererte samme utgang. Nå vil vi prøve å heise Funksjonsuttrykk I JavaScript.
Funksjonsuttrykk som heiser i JavaScript
I en JavaScript -funksjonsuttrykk, En variabel initialiseres med en funksjonsverdi. Som et resultat er den navngitte variabelen bare heist, ikke dens funksjon.
Eksempel: Funksjonsuttrykk som heiser i JavaScript
Vi vil endre våre vanlige “Legg til()”Funksjon til en“Funksjonsuttrykk”:
var add = funksjon add (x, y)Denne gangen en “Typeerror”Vises på konsollvinduet og informerer om at“Legg til”Er ikke en funksjon:
Vi har møtt ovennevnte “Typeerror”Fordi JavaScript -motoren plasserte“Legg til" som en "variabel”I minnet, ikke som en funksjon.
Det var all kritisk informasjon relatert til Heise i JavaScript. Du kan videre utforske dette emnet i henhold til dine preferanser.
Konklusjon
Heise i JavaScript støttes for variabler og funksjoner erklæringer. I opprettelsesfasen av den globale utførelseskonteksten blir erklæringen relatert til variabler og funksjoner flyttet til toppen av omfanget. På denne måten blir et sted i minnet tildelt dem begge, slik at vi kan bruke variabler og funksjoner før erklæring. Denne oppskrivningen forklarte heising i JavaScript sammen med passende eksempler.