Shoda názvů s parametry v JavaScriptu
Parametry funkce jsou lokální proměnné uvnitř ní. Pojmenujme parametr funkce stejným názvem jako vnější globální proměnnou:
function func(num) {
console.log(num);
}
let num = 1;
func(num);
V tomto případě dostaneme to, že
mimo funkci bude proměnná num
a uvnitř funkce bude proměnná num.
Ale půjde o různé proměnné: změna
proměnné uvnitř funkce povede
ke změně lokální proměnné
funkce. A vnější proměnná uvnitř
funkce bude nedostupná a nebude možné ji
změnit žádným způsobem. Ověřme si to:
function func(num) {
num = 2; // měníme lokální proměnnou
}
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(num) {
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() {
num = 2;
}
let num = 1;
func();
console.log(num);
Určete, bez spuštění kódu, co se vypíše do konzole:
function func() {
let num = 2;
}
let num = 1;
func();
console.log(num);