⊗jsPmFVGVP 222 of 505 menu

Globální proměnné a parametry funkcí v JavaScriptu

Předpokládejme, že máme funkci, která přijímá jako parametr číslo:

function func(localNum) { console.log(localNum); }

Předpokládejme, že mimo funkci existuje proměnná num:

function func(localNum) { console.log(localNum); } let num = 1; // vnější globální proměnná

Zavolejme naši funkci a předejme jí proměnnou num jako parametr:

function func(localNum) { console.log(localNum); } let num = 1; func(num); // voláme funkci s parametrem, vypíše 1

Výsledkem bude, že uvnitř funkce bude přístupná jak proměnná localNum (parametr funkce), tak proměnná num (jako vnější proměnná):

function func(localNum) { console.log(num); // vypíše 1 console.log(localNum); // vypíše 1 } let num = 1; func(num);

Samotná proměnná localNum bude lokální proměnnou funkce a nebude přístupná zvenčí:

function func(localNum) { } let num = 1; func(num); // voláme funkci s parametrem console.log(localNum); // způsobí chybu

Protože je proměnná localNum lokální, žádné její změny uvnitř funkce nic nezmění vně:

function func(localNum) { localNum = 2; // nic nemění vně } let num = 1; func(num);

Pokud však uvnitř změníme proměnnou num (globální), změny se projeví i vně:

function func(localNum) { num = 2; } let num = 1; func(num); console.log(num); // vypíše 2

Pokud však uvnitř funkce deklarujeme proměnnou num pomocí let, vytvoříme tím lokální proměnnou num, která nijak neovlivní vnější proměnnou:

function func(localNum) { let num = 2; // deklarujeme pomocí let } let num = 1; func(num); console.log(num); // vypíše 1 - nic se nezměnilo

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

function func(localNum) { console.log(localNum); } func(1);

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

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

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

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

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

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

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

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

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

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

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

function func(localNum) { let num = 2; } let num = 1; func(num); 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