Глобальные переменные и параметры функций в JavaScript

Пусть у нас есть функция, принимающая параметром число:

javascriptfunction func(localNum) {
  console.log(localNum);
}

Пусть снаружи функции есть переменная num:

javascriptfunction func(localNum) {
  console.log(localNum);
}

let num = 1; // внешняя глобальная переменная

Давайте вызовем нашу функцию, передав ей параметром переменную num:

javascriptfunction func(localNum) {
  console.log(localNum);
}

let num = 1;
func(num); // вызываем функцию с параметром, выведет 1

Получится, что внутри функции будет доступна как переменная localNum (параметр функции), так и переменная num (как внешняя переменная):

javascriptfunction func(localNum) {
  console.log(num); // выведет 1
  console.log(localNum); // выведет 1
}

let num = 1;
func(num);

Сама переменная localNum будет локальной переменной функции и не будет доступна извне:

javascriptfunction func(localNum) {
  
}

let num = 1;
func(num); // вызываем функцию с параметром
console.log(localNum); // выдаст ошибку

Так как переменная localNum - локальная, то никакие изменения с ней ничего не поменяют снаружи:

javascriptfunction func(localNum) {
  localNum = 2; // ничего не меняет снаружи
}

let num = 1;
func(num);

Если же поменять внутри переменную num (глобальную), то изменения появятся и снаружи:

javascriptfunction func(localNum) {
  num = 2;
}

let num = 1;
func(num);
console.log(num); // выведет 2

Однако, если внутри функции объявить переменную num через let, то мы создадим таким образом локальную переменную num, никак не влияющую на внешнюю переменную:

javascriptfunction func(localNum) {
  let num = 2; // объявим через let
}

let num = 1;
func(num);
console.log(num); // выведет 1 - ничего не поменялось
Задание 1

Определите, не запуская код, что выведется в консоль:

javascriptfunction func(localNum) {
  console.log(localNum);
}

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

Определите, не запуская код, что выведется в консоль:

javascriptfunction func(localNum) {
  console.log(localNum);
}

let num = 1;
func(num);
Задание 3

Определите, не запуская код, что выведется в консоль:

javascriptfunction func(localNum) {
  console.log(localNum);
}

let num = 1;
func(num);
num = 2;
Задание 4

Определите, не запуская код, что выведется в консоль:

javascriptlet num = 1;

function func(localNum) {
  console.log(localNum);
}

num = 2;
func(num);
Задание 5

Определите, не запуская код, что выведется в консоль:

javascriptfunction func(localNum) {
  localNum = 2;
}

let num = 1;
func(num);
console.log(num);
Задание 6

Определите, не запуская код, что выведется в консоль:

javascriptfunction func(localNum) {
  num = 2;
}

let num = 1;
func(num);
console.log(num);
Задание 7

Определите, не запуская код, что выведется в консоль:

javascriptfunction func(localNum) {
  let num = 2;
}

let num = 1;
func(num);
console.log(num);