Globális változók és függvényparaméterek a JavaScriptben
Tegyük fel, hogy van egy függvényünk, amely számot fogad paraméterként:
function func(localNum) {
console.log(localNum);
}
Tegyük fel, hogy a függvényen kívül van egy num változó:
function func(localNum) {
console.log(localNum);
}
let num = 1; // külső globális változó
Hívjuk meg a függvényünket, átadva neki a num változót paraméterként:
function func(localNum) {
console.log(localNum);
}
let num = 1;
func(num); // meghívjuk a függvényt paraméterrel, kiírja az 1-et
Így a függvényen belül mind a localNum változó (a függvény paramétere), mind a num változó (mint külső változó) elérhető lesz:
function func(localNum) {
console.log(num); // kiírja az 1-et
console.log(localNum); // kiírja az 1-et
}
let num = 1;
func(num);
Maga a localNum változó a függvény lokális változója lesz, és kívülről nem lesz elérhető:
function func(localNum) {
}
let num = 1;
func(num); // meghívjuk a függvényt paraméterrel
console.log(localNum); // hibát jelez
Mivel a localNum változó lokális, ezért bármilyen módosítás rajta nem fog semmit megváltoztatni kívül:
function func(localNum) {
localNum = 2; // semmit sem változtat kívül
}
let num = 1;
func(num);
Ha viszont megváltoztatjuk a num változót (a globálist) a függvényen belül, akkor a változások kívül is megjelennek:
function func(localNum) {
num = 2;
}
let num = 1;
func(num);
console.log(num); // kiírja a 2-t
Azonban, ha a függvényen belül a num változót let-tel deklaráljuk, akkor így egy lokális num változót hozunk létre, amely semmilyen hatással nincs a külső változóra:
function func(localNum) {
let num = 2; // deklaráljuk let-tel
}
let num = 1;
func(num);
console.log(num); // kiírja az 1-et - semmi sem változott
Határozd meg, kód futtatása nélkül, hogy mit ír a konzolra:
function func(localNum) {
console.log(localNum);
}
func(1);
Határozd meg, kód futtatása nélkül, hogy mit ír a konzolra:
function func(localNum) {
console.log(localNum);
}
let num = 1;
func(num);
Határozd meg, kód futtatása nélkül, hogy mit ír a konzolra:
function func(localNum) {
console.log(localNum);
}
let num = 1;
func(num);
num = 2;
Határozd meg, kód futtatása nélkül, hogy mit ír a konzolra:
let num = 1;
function func(localNum) {
console.log(localNum);
}
num = 2;
func(num);
Határozd meg, kód futtatása nélkül, hogy mit ír a konzolra:
function func(localNum) {
localNum = 2;
}
let num = 1;
func(num);
console.log(num);
Határozd meg, kód futtatása nélkül, hogy mit ír a konzolra:
function func(localNum) {
num = 2;
}
let num = 1;
func(num);
console.log(num);
Határozd meg, kód futtatása nélkül, hogy mit ír a konzolra:
function func(localNum) {
let num = 2;
}
let num = 1;
func(num);
console.log(num);