Parámetros de funciones externas e internas en JavaScript

Hagamos que tanto la función externa como la interna acepten parámetros:

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

Pasemos el parámetro de la función externa a la llamada de la función interna:

javascriptfunction test(num) {
  function func(localNum) {
    console.log(localNum); // mostrará 1
  }
  
  func(num); //!! pasamos el parámetro
}

test(1); // pasamos un número como parámetro

Resulta que en la función interna estará disponible la variable num como una variable externa de la función padre y la variable localNum, que es una variable local de la función interna.

Ambas variables tendrán los mismos valores:

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

test(1);

La diferencia entre ellas será la siguiente: si en la función interna cambiamos la variable num - también cambiará en la función externa:

javascriptfunction test(num) {
  function func(localNum) {
    num = 2; // cambiamos la variable num
  }
  
  func(num);   // pasamos el parámetro
  console.log(num);  // mostrará 2
}

test(1); // pasamos un número como parámetro

Y la variable localNum será local. Sus cambios no conducirán a ningún cambio en la función externa. Y la propia variable localNum no será visible fuera de la función interna:

javascriptfunction test(num) {
  function func(localNum) {
    localNum = 2; // cambiamos la variable num
  }
  
  func(num); // pasamos el parámetro
}

test(1); // pasamos un número como parámetro
Задание 1

Determine, sin ejecutar el código, qué se mostrará en la consola:

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

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

Determine, sin ejecutar el código, qué se mostrará en la consola:

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

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

Determine, sin ejecutar el código, qué se mostrará en la consola:

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

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

Determine, sin ejecutar el código, qué se mostrará en la consola:

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

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

Determine, sin ejecutar el código, qué se mostrará en la consola:

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

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

Determine, sin ejecutar el código, qué se mostrará en la consola:

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

test(1);