⊗jsPmFVNC 220 of 505 menu

Azonos változónevek függvényekben JavaScriptben

Tegyük fel, hogy mind a függvényen kívül, mind a függvényen belül van egy num változó. Ebben az esetben a lokális num változóval végrehajtott módosítások semmilyen hatással nincsenek a globális num változóra:

let num = 1; // globális változó function func() { let num = 2; // lokális változó console.log(num); } func(); // meghívjuk a függvényt, kiírja a 2-t console.log(num); // kiírja 1 - a globális változó nem változott

De ha elfelejtjük a let kulcsszóval deklarálni a lokális num változót, akkor a függvényen belül nem jön létre lokális num változó, hanem egyszerűen a globális változó módosul:

let num = 1; function func() { num = 2; // elfelejtettük a let-et - a külső változót módosítjuk console.log(num); } func(); // meghívjuk a függvényt, kiírja a 2-t console.log(num); // kiírja 2 - a változó megváltozott

Ilyenkor két helyzet lehetséges: vagy valóban a globális változót akartuk módosítani (akkor minden rendben), vagy elfelejtettük a let-et és véletlenül megváltoztattuk a globális változót.

Az utóbbi eset egy nehezen felderíthető hiba, amely a szkript kiszámíthatatlan viselkedéséhez vezet. Ezért mindig, amikor új változót vezetsz be, deklaráljad a let kulcsszóval.

Határozd meg, kód futtatása nélkül, hogy mi jelenik meg a konzolon:

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

Határozd meg, kód futtatása nélkül, hogy mi jelenik meg a konzolon:

let num = 1; function func() { let num = 2; } func(); console.log(num);
Magyar
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
A weboldal működéséhez, elemzéshez és személyre szabáshoz sütiket használunk. Az adatfeldolgozás a Adatvédelmi irányelvek szerint történik.
összes elfogadása beállítás elutasítás