Parametry se stejným názvem v JavaScriptu
Nyní předpokládejme, že vnější a vnitřní funkce mají parametry se stejným názvem:
function test(num) {
function func(num) {
console.log(num); // vypíše 1
}
func(num);
};
test(1);
V tomto případě bude ve vnitřní funkci
lokální proměnná num. Její změna
ve vnitřní funkci nijak neovlivní
vnější proměnnou num:
function test(num) {
function func(num) {
num = 2; // měníme lokální proměnnou num
}
func(num);
console.log(num); // vypíše 1 - nic se nezměnilo
}
test(1);
Výsledkem bude, že vnitřní funkce se nemůže
nijak dostat k vnější proměnné num
aby ji změnila:
function test(num) {
function func(num) {
// zde nelze získat přístup k vnější proměnné num
}
func(num);
}
test(1);
Určete, bez spuštění kódu, co se vypíše do konzole:
function test(num) {
function func(num) {
console.log(num);
}
func(num);
}
test(1);
Určete, bez spuštění kódu, co se vypíše do konzole:
function test(num) {
function func(num) {
num = 2;
}
func(num);
console.log(num);
}
test(1);
Určete, bez spuštění kódu, co se vypíše do konzole:
function test(num) {
function func(num) {
console.log(num);
}
num = 2;
func(num);
}
test(1);
Určete, bez spuštění kódu, co se vypíše do konzole:
function test(num) {
function func(num) {
console.log(num);
}
func(num);
num = 2;
}
test(1);