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ë.
- 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