Zbieżność nazw z parametrami w JavaScript
Parametry funkcji są zmiennymi lokalnymi w jej wnętrzu. Nazwijmy parametr funkcji tą samą nazwą, co zewnętrzną zmienną globalną:
function func(num) {
console.log(num);
}
let num = 1;
func(num);
W tym przypadku otrzymamy taką sytuację,
że na zewnątrz funkcji będzie zmienna num
i wewnątrz funkcji będzie zmienna num.
Ale będą to różne zmienne: zmiana
zmiennej wewnątrz funkcji będzie prowadzić
do zmiany lokalnej zmiennej
funkcji. A zmienna zewnętrzna wewnątrz
funkcji będzie niedostępna i nie będzie mogła być
zmieniona w żaden sposób. Sprawdźmy:
function func(num) {
num = 2; // zmieniamy zmienną lokalną
}
let num = 1;
func(num);
console.log(num); // wypisze 1 - nic się nie zmieniło
Określ, bez uruchamiania kodu, co zostanie wypisane w konsoli:
function func(num) {
num = 2;
}
let num = 1;
func(num);
console.log(num);
Określ, bez uruchamiania kodu, co zostanie wypisane w konsoli:
function func() {
num = 2;
}
let num = 1;
func();
console.log(num);
Określ, bez uruchamiania kodu, co zostanie wypisane w konsoli:
function func() {
let num = 2;
}
let num = 1;
func();
console.log(num);