Zhoda názvov s parametrami v JavaScripte
Parametre funkcie sú lokálne premenné vo vnútri nej. Pomenujme parameter funkcie rovnakým názvom ako vonkajšiu globálnu premennú:
function func(num) {
console.log(num);
}
let num = 1;
func(num);
V tomto prípade dostaneme to, že
mimo funkcie bude premenná num
a vo vnútri funkcie bude premenná num.
Ale budú to rôzne premenné: zmena
premennej vo vnútri funkcie povedie
k zmene lokálnej premennej
funkcie. A vonkajšia premenná vo vnútri
funkcie bude nedostupná a nebude sa dať
zmeniť žiadnym spôsobom. Skontrolujme:
function func(num) {
num = 2; // meníme lokálnu premennú
}
let num = 1;
func(num);
console.log(num); // vypíše 1 - nič sa nezmenilo
Určte, bez spustenia kódu, čo sa vypíše do konzoly:
function func(num) {
num = 2;
}
let num = 1;
func(num);
console.log(num);
Určte, bez spustenia kódu, čo sa vypíše do konzoly:
function func() {
num = 2;
}
let num = 1;
func();
console.log(num);
Určte, bez spustenia kódu, čo sa vypíše do konzoly:
function func() {
let num = 2;
}
let num = 1;
func();
console.log(num);