Parametri sa istim imenom u JavaScript-u

Neka sada spoljašnja i unutrašnja funkcija imaju parametre sa istim imenom:

javascriptfunction test(num) {
  function func(num) {
    console.log(num); // ispisaće 1
  }
  
  func(num);
};

test(1);

U ovom slučaju će unutrašnja funkcija imati lokalnu promenljivu num. Njeno menjanje u unutrašnjoj funkciji neće nikako uticati na spoljašnju promenljivu num:

javascriptfunction test(num) {
  function func(num) {
    num = 2; // menjamo lokalnu promenljivu num
  }
  
  func(num);
  console.log(num); // ispisaće 1 - ništa se nije promenilo
}

test(1);

Ispostavlja se da unutrašnja funkcija nikako neće moći da pristupi spoljašnjoj promenljivoj num kako bi je promenila:

javascriptfunction test(num) {
  function func(num) {
    // ovde se ne može pristupiti spoljašnjoj promenljivoj num
  }
  
  func(num);
}
test(1);
Задание 1

Odredite, bez pokretanja koda, šta će biti ispisano u konzolu:

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

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

Odredite, bez pokretanja koda, šta će biti ispisano u konzolu:

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

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

Odredite, bez pokretanja koda, šta će biti ispisano u konzolu:

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

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

Odredite, bez pokretanja koda, šta će biti ispisano u konzolu:

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

test(1);