A külső és belső függvények paraméterei JavaScriptben
Tegyük úgy, hogy mind a külső függvény, mind a belső fogadjon paramétereket:
function test(num) {
function func(localNum) {
console.log(localNum);
}
}
Adjuk át a külső függvény paraméterét a belső függvény hívásakor:
function test(num) {
function func(localNum) {
console.log(localNum); // kiírja 1-et
}
func(num); //!! átadjuk a paramétert
}
test(1); // számot adunk át paraméterként
Így a belső függvényben hozzáférhető lesz
a num változó, mint a szülőfüggvény külső
változója, és a localNum változó,
ami a belső függvény lokális változója.
Mindkét változó értéke ugyanaz lesz:
function test(num) {
function func(localNum) {
console.log(num); // kiírja 1-et
console.log(localNum); // kiírja 1-et
}
func(num);
}
test(1);
A köztük lévő különbség a következő: ha
a belső függvényben megváltoztatjuk a
num változót - az a külső függvényben is
megváltozik:
function test(num) {
function func(localNum) {
num = 2; // megváltoztatjuk a num változót
}
func(num); // átadjuk a paramétert
console.log(num); // kiírja 2-t
}
test(1); // számot adunk át paraméterként
A localNum változó viszont lokális lesz.
Annak megváltoztatása nem fog változást eredményezni
a külső függvényben. Maga a localNum
változó sem lesz látható a belső függvényen kívül:
function test(num) {
function func(localNum) {
localNum = 2; // megváltoztatjuk a num változót
}
func(num); // átadjuk a paramétert
}
test(1); // számot adunk át paraméterként
Határozd meg, kód futtatása nélkül, hogy mi jelenik meg a konzolon:
function test(num) {
function func(localNum) {
console.log(localNum);
}
func(num);
}
test(1);
Határozd meg, kód futtatása nélkül, hogy mi jelenik meg a konzolon:
function test(num) {
function func(localNum) {
console.log(localNum);
}
func(num + 1);
}
test(1);
Határozd meg, kód futtatása nélkül, hogy mi jelenik meg a konzolon:
function test(num) {
function func(localNum) {
console.log(num);
}
func(num + 1);
}
test(1);
Határozd meg, kód futtatása nélkül, hogy mi jelenik meg a konzolon:
function test(num) {
function func(localNum) {
localNum = 2;
}
func(num);
console.log(num);
}
test(1);
Határozd meg, kód futtatása nélkül, hogy mi jelenik meg a konzolon:
function test(num) {
function func(localNum) {
localNum = 2;
}
func(num);
console.log(localNum);
}
test(1);
Határozd meg, kód futtatása nélkül, hogy mi jelenik meg a konzolon:
function test(num) {
function func(localNum) {
num = 2;
}
func(num);
console.log(num);
}
test(1);