Samannimiset parametrit JavaScriptissä
Oletetaan nyt, että ulkoisella ja sisäisellä funktiolla on samannimiset parametrit:
function test(num) {
function func(num) {
console.log(num); // tulostaa 1
}
func(num);
};
test(1);
Tässä tapauksessa sisäisessä funktiossa on
paikallinen muuttuja num. Sen muuttaminen
sisäisessä funktiossa ei vaikuta millään tavalla
ulkoiseen muuttujaan num:
function test(num) {
function func(num) {
num = 2; // muutetaan paikallista muuttujaa num
}
func(num);
console.log(num); // tulostaa 1 - mikään ei muuttunut
}
test(1);
Käy niin, että sisäinen funktio ei pysty millään tavalla
pääsemään käsiksi ulkoiseen muuttujaan num
muuttaakseen sitä:
function test(num) {
function func(num) {
// tässä ei voi päästä käsiksi ulkoiseen muuttujaan num
}
func(num);
}
test(1);
Päätä, suorittamatta koodia, mitä tulostetaan konsoliin:
function test(num) {
function func(num) {
console.log(num);
}
func(num);
}
test(1);
Päätä, suorittamatta koodia, mitä tulostetaan konsoliin:
function test(num) {
function func(num) {
num = 2;
}
func(num);
console.log(num);
}
test(1);
Päätä, suorittamatta koodia, mitä tulostetaan konsoliin:
function test(num) {
function func(num) {
console.log(num);
}
num = 2;
func(num);
}
test(1);
Päätä, suorittamatta koodia, mitä tulostetaan konsoliin:
function test(num) {
function func(num) {
console.log(num);
}
func(num);
num = 2;
}
test(1);