Аднайменныя параметры ў JavaScript

Хай цяпер знешняя і ўнутраная функцыі маюць аднайменныя параметры:

javascriptfunction test(num) {
  function func(num) {
    console.log(num); // вывядзе 1
  }
  
  func(num);
};

test(1);

У гэтым выпадку ў ўнутранай функцыі будзе лакальная пераменная num. Яе змяненне ў ўнутранай функцыі ніяк не будзе ўплываць на знешнюю пераменную num:

javascriptfunction test(num) {
  function func(num) {
    num = 2; // мяняем лакальную пераменную num
  }
  
  func(num);
  console.log(num); // вывядзе 1 - нічога не змянілася
}

test(1);

Атрымаецца, што ўнутраная функцыя ніяк не зможа звярнуцца да знешняй пераменнай num для таго, каб змяніць яе:

javascriptfunction test(num) {
  function func(num) {
    // тут нельга атрымаць доступ у знешнюю пераменную num
  }
  
  func(num);
}
test(1);
Задание 1

Вызначыце, не запускаючы код, што вывядзецца ў кансоль:

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

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

Вызначыце, не запускаючы код, што вывядзецца ў кансоль:

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

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

Вызначыте, не запускаючы код, што вывядзецца ў кансоль:

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

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

Вызначыце, не запускаючы код, што вывядзецца ў кансоль:

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

test(1);