⊗jsPmFVNC 220 of 505 menu

Stejné názvy proměnných ve funkcích v JavaScriptu

Nechť je jak mimo funkci, tak uvnitř proměnná num. V tomto případě jakékoli změny s lokální proměnnou num nijak neovlivní globální proměnnou num:

let num = 1; // globální proměnná function func() { let num = 2; // lokální proměnná console.log(num); } func(); // voláme funkci, vypíše 2 console.log(num); // vypíše 1 - globální proměnná se nezměnila

Ale pokud zapomeneme deklarovat lokální proměnnou num pomocí let, pak uvnitř funkce se nevytvoří lokální proměnná num, ale pouze se změní globální proměnná:

let num = 1; function func() { num = 2; // zapomněli jsme napsat let - měníme vnější proměnnou console.log(num); } func(); // voláme funkci, vypíše 2 console.log(num); // vypíše 2 - proměnná se změnila

Zde mohou nastat dvě situace: buď jsme skutečně chtěli změnit globální proměnnou (pak je vše v pořádku), nebo jsme zapomněli let a náhodně změnili globální proměnnou.

Druhý případ je těžko zachytitelnou chybou, vedoucí k nepředvídatelnému chování skriptu. Proto vždy, když zavádíte novou proměnnou, deklarujte ji pomocí let.

Určete, bez spuštění kódu, co se vypíše do konzole:

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

Určete, bez spuštění kódu, co se vypíše do konzole:

let num = 1; function func() { let num = 2; } func(); console.log(num);
Čeština
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Používáme soubory cookie pro fungování webu, analýzu a personalizaci. Zpracování údajů probíhá v souladu s Zásadami ochrany osobních údajů.
přijmout vše přizpůsobit odmítnout