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:

javascriptfunction func(localNum) {
  console.log(localNum);
}

Tegyük fel, hogy a függvényen kívül van egy num változó:

javascriptfunction 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:

javascriptfunction 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:

javascriptfunction 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ő:

javascriptfunction 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:

javascriptfunction 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:

javascriptfunction 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:

javascriptfunction 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
Задание 1

Határozd meg, kód futtatása nélkül, hogy mit ír a konzolra:

javascriptfunction func(localNum) {
  console.log(localNum);
}

func(1);
Задание 2

Határozd meg, kód futtatása nélkül, hogy mit ír a konzolra:

javascriptfunction func(localNum) {
  console.log(localNum);
}

let num = 1;
func(num);
Задание 3

Határozd meg, kód futtatása nélkül, hogy mit ír a konzolra:

javascriptfunction func(localNum) {
  console.log(localNum);
}

let num = 1;
func(num);
num = 2;
Задание 4

Határozd meg, kód futtatása nélkül, hogy mit ír a konzolra:

javascriptlet num = 1;

function func(localNum) {
  console.log(localNum);
}

num = 2;
func(num);
Задание 5

Határozd meg, kód futtatása nélkül, hogy mit ír a konzolra:

javascriptfunction func(localNum) {
  localNum = 2;
}

let num = 1;
func(num);
console.log(num);
Задание 6

Határozd meg, kód futtatása nélkül, hogy mit ír a konzolra:

javascriptfunction func(localNum) {
  num = 2;
}

let num = 1;
func(num);
console.log(num);
Задание 7

Határozd meg, kód futtatása nélkül, hogy mit ír a konzolra:

javascriptfunction func(localNum) {
  let num = 2;
}

let num = 1;
func(num);
console.log(num);