Azonos nevű paraméterek JavaScriptben

Tegyük fel, hogy a külső és a belső függvény azonos nevű paraméterekkel rendelkezik:

javascriptfunction test(num) {
  function func(num) {
    console.log(num); // kiírja 1-et
  }
  
  func(num);
};

test(1);

Ebben az esetben a belső függvényben lesz egy lokális num változó. Ennek megváltoztatása a belső függvényben semmilyen módon nem fog hatni a külső num változóra:

javascriptfunction test(num) {
  function func(num) {
    num = 2; // megváltoztatjuk a lokális num változót
  }
  
  func(num);
  console.log(num); // kiírja 1-et - semmi sem változott
}

test(1);

Az eredmény az, hogy a belső függvény semmiképp nem fog tudni hozzáférni a külső num változóhoz annak érdekében, hogy megváltoztassa azt:

javascriptfunction test(num) {
  function func(num) {
    // itt nem lehet hozzáférni a külső num változóhoz
  }
  
  func(num);
}
test(1);
Задание 1

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

javascriptfunction test(num) {
  function func(num) {
    console.log(num);
  }
  
  func(num);
}

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

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

javascriptfunction test(num) {
  function func(num) {
    num = 2;
  }
  
  func(num);
  console.log(num);
}

test(1);
Задание 3

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

javascriptfunction test(num) {
  function func(num) {
    console.log(num);
  }
  
  num = 2;
  func(num);
}

test(1);
Задание 4

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

javascriptfunction test(num) {
  function func(num) {
    console.log(num);
  }
  
  func(num);
  num = 2;
}

test(1);