E di që edhe më parë keni punuar me funksione. Por a e dini vërtet se si funksionon një funksion në JavaScript prapa skenave?

Si i trajton JavaScript funksionet e tij dhe mjedisin e ndryshueshëm?

Le ta zbulojmë së bashku…

Më poshtë kemi me vete një program shumë të vogël të thjeshtë. Dhe po, kjo do t'ju lërë mendjen në vetëm pak minuta në lexim.

var x = 1;
a();
console.log(x);

function a() {
  var x = 10;
  console.log(x);
}

Ju lutemi hapni tastierën e zhvilluesit dhe përdorni shkurtoren e tastierës Ctrl+Shift+J (në Windows) ose Ctrl Option J (në Mac). Në skedën e konsolës, do të mund ta shihni këtë pasi JavaScript të ekzekutojë programin e mësipërm.

Deri më tani, gjithçka që keni bërë mund të jenë gjëra që ju i dinit tashmë. Por argëtimi i vërtetë po fillon vetëm tani.

Le të vendosim një korrigjues në rreshtin 1.

Këtu, JavaScript krijon një kontekst global ekzekutimi për programin. Është futur në grupin e thirrjeve dhe kontrolli është në rreshtin 1.

Ah prisni! Nuk e dini se çfarë është konteksti global i ekzekutimit? Më pas lexoni…

Konteksti global i ekzekutimit ka dy komponentë.

  1. Faza e mjedisit të ndryshueshëm quhet edhe faza e kujtesës.

2. Faza e ekzekutimit të kodit.

Në fazën e mjedisit të ndryshueshëm, JavaScript shpërndan memorie për variablat dhe funksionet. Për variablat, ai cakton fjalën kyçe "të papërcaktuar" dhe për funksionet, cakton trupin e tij të funksionit si memorie.

Dhe në fazën e ekzekutimit të kodit, JavaScript ekzekuton linjat e programit sipas radhës.

Tani që kjo është pastruar, lexoni në…

Në programin tonë meqenëse kontrolli është në linjën 1. JavaScript-i i ka ndarë 'të papërcaktuar' variablës "x" dhe funksionit a() ka ndarë trupin e tij të funksionit.

Tani le ta vendosim korrigjuesin në rreshtin 2 dhe klikojmë butonin e luajtjes së korrigjuesit.

Tani që rreshti 1 është ekzekutuar, JavaScript ia caktoi vlerën 1 ndryshores x.

Tani le ta vendosim korrigjuesin në rreshtin 6 dhe klikojmë butonin e luajtjes së korrigjuesit.

Këtu JavaScript krijoi një kontekst të ri ekzekutimi për funksionin a( ). Kjo është shtyrë në grupin e thirrjeve. Dhe kontrolli tani i jepet a(). Kjo nuk mbaron këtu. JavaScript krijoi gjithashtu një memorie të re lokale dhe memorie globale vetëm për funksionin a( ).

Sa i përket fazës së memories, JavaScript caktoi fjalën kyçe "të papërcaktuar" variablit të pranishëm në memorien lokale të funksionit a( ).

Tani le ta vendosim korrigjuesin në rreshtin 7 dhe klikojmë butonin e luajtjes së korrigjuesit.

JavaScript kërkon variablin x në memorien lokale dhe alokon vlerën '10' në ndryshore x.

Tani le ta vendosim korrigjuesin në rreshtin 3 dhe klikojmë butonin e luajtjes së korrigjuesit.

Ju mund të vini re se në grupin e thirrjeve, konteksti i ekzekutimit për funksionin a( ) sapo u shfaq dhe tani kontrolli është në rreshtin 3 përsëri në kontekstin global të ekzekutimit.

Nëse hapni skedën e tastierës tani, do të shihni rreshtin e mëposhtëm atje.

Tani për herë të fundit klikoni butonin e luajtjes së korrigjuesit.

JavaScript ekzekutoi programin e mbetur. Kërkoi variablin x në memorien globale dhe cakton vlerën '1' në ndryshoren x. Tani ka përfunduar kontekstin global të ekzekutimit në grupin e thirrjeve. Dhe tani konteksti global i ekzekutimit sapo doli nga pirgja. Stafi i thirrjeve tani është bosh.

Shkoni te skeda e konsolës dhe do të shihni rreshtat e mëposhtëm.

Pra, kjo është mënyra se si funksionet dhe mjedisi i ndryshueshëm funksionojnë së bashku në JavaScript.

Nuk u befasuat?

Haha! E di që kjo ishte thjesht e mrekullueshme së bashku.

Nëse keni arritur deri këtu, atëherë urime! Sapo mësuat:

  • Si të përdorni një korrigjues në tastierë.
  • Si funksionon JavaScript me funksionet dhe mjedisin e ndryshueshëm.
  • Si funksionon grupi i thirrjeve.
  • Si zhvillohet thirrja e funksionit në prapaskenë.

Nëse keni mësuar ndonjë gjë nga ky blog, atëherë ju lutemi lini një pëlqim dhe komentoni se çfarë ndjeni për blogun.

Më shumë përmbajtje në plainenglish.io