Parâmetros homônimos em JavaScript

Suponha que a função externa e a função interna tenham parâmetros com o mesmo nome:

javascriptfunction test(num) {
  function func(num) {
    console.log(num); // exibirá 1
  }
  
  func(num);
};

test(1);

Neste caso, dentro da função interna haverá uma variável local num. A sua alteração dentro da função interna não afetará de forma alguma a variável externa num:

javascriptfunction test(num) {
  function func(num) {
    num = 2; // alteramos a variável local num
  }
  
  func(num);
  console.log(num); // exibirá 1 - nada mudou
}

test(1);

O resultado é que a função interna não conseguirá acessar a variável externa num para alterá-la:

javascriptfunction test(num) {
  function func(num) {
    // aqui não é possível acessar a variável externa num
  }
  
  func(num);
}
test(1);
Задание 1

Determine, sem executar o código, o que será exibido no console:

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

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

Determine, sem executar o código, o que será exibido no console:

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

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

Determine, sem executar o código, o que será exibido no console:

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

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

Determine, sem executar o código, o que será exibido no console:

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

test(1);