Глабальныя зменныя і параметры функцый у 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);