⊗jsPmFVNC 220 of 505 menu

Emrat e njëjtë të variablave në funksione në JavaScript

Le të themi se si jashtë funksionit ashtu edhe brenda ka një variabël num. Në këtë rast, çdo ndryshim me variablin lokal num nuk ndikon në asnjë mënyrë në variablin global num:

let num = 1; // variabël global function func() { let num = 2; // variabël lokal console.log(num); } func(); // therasim funksionin, do të shfaqet 2 console.log(num); // do të shfaqet 1 - variabli global nuk ndryshoi

Por, nëse harrojmë të deklarojmë variablin lokal num përmes let, atëherë brenda funksionit nuk do të krijohet variabli lokal num, por thjesht do të ndryshojë variabli global:

let num = 1; function func() { num = 2; // harruam të shkruajmë let - po ndryshojmë variablin e jashtëm console.log(num); } func(); // therasim funksionin, do të shfaqet 2 console.log(num); // do të shfaqet 2 - variabli ndryshoi

Këtu mund të ketë dy situata: ose ne vërtet donim të ndryshonim variablin global (atëherë gjithçka është në rregull), ose kemi harruar let dhe aksidentalisht ndryshuam variablin global.

Rasti i dytë është një gabim i vështirë për t'u kapur, që çon në sjellje të paparashikueshme të skriptit. Prandaj gjithmonë, kur futni një variabël të re deklarojeni atë përmes let.

Përcaktoni, pa ekzekutuar kodin, çfarë do të shfaqet në konsol:

let num = 1; function func() { num = 2; } func(); console.log(num);

Përcaktoni, pa ekzekutuar kodin, çfarë do të shfaqet në konsol:

let num = 1; function func() { let num = 2; } func(); console.log(num);
Shqip
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Ne përdorim cookie për funksionimin e sajtit, analizën dhe personalizimin. Përpunimi i të dhënave bëhet në përputhje me Politikën e Privatësisë.
prano të gjitha konfiguro refuzo