⊗jsPmFVNC 220 of 505 menu

Rovnaké názvy premenných vo funkciách v JavaScripte

Ak je premenná num definovaná mimo funkcie aj vo vnútri, potom akékoľvek zmeny s lokálnou premennou num nemajú žiadny vplyv na globálnu premennú num:

let num = 1; // globálna premenná function func() { let num = 2; // lokálna premenná console.log(num); } func(); // voláme funkciu, vypíše 2 console.log(num); // vypíše 1 - globálna premenná sa nezmenila

Ale ak zabudneme deklarovať lokálnu premennú num pomocou let, potom sa vo vnútri funkcie nevytvorí lokálna premenná num, ale jednoducho sa zmení globálna premenná:

let num = 1; function func() { num = 2; // zabudli sme napísať let - meníme vonkajšiu premennú console.log(num); } func(); // voláme funkciu, vypíše 2 console.log(num); // vypíše 2 - premenná sa zmenila

Môžu nastať dve situácie: buď sme naozaj chceli zmeniť globálnu premennú (vtedy je všetko v poriadku), alebo sme zabudli na let a náhodne zmenili globálnu premennú.

Druhý prípad je ťažko zachytiteľnou chybou, ktorá vedie k nepredvídateľnému správaniu skriptu. Preto vždy pri zavádzaní novej premennej ju deklarujte pomocou let.

Určte, bez spustenia kódu, čo sa vypíše do konzoly:

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

Určte, bez spustenia kódu, čo sa vypíše do konzoly:

let num = 1; function func() { let num = 2; } func(); console.log(num);
Slovenčina
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Používame cookies na fungovanie stránky, analýzu a personalizáciu. Spracúvanie údajov prebieha v súlade s Politikou ochrany osobných údajov.
prijať všetky nastaviť odmietnuť