Variablat globale dhe parametrat e funksioneve në JavaScript

Le të themi se kemi një funksion që pranon një numër si parametër:

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

Le të themi se jashtë funksionit ekziston një variabël num:

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

let num = 1; // variabël globale e jashtme

Le ta thirrim funksionin tonë, duke i kaluar variablin num si parametër:

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

let num = 1;
func(num); // therrasim funksionin me parametër, do të shfaqë 1

Kjo do të thotë se brenda funksionit do të jenë të disponueshme si variabla localNum (parametri i funksionit), ashtu edhe variabla num (si variabël e jashtme):

javascriptfunction func(localNum) {
  console.log(num); // do të shfaqë 1
  console.log(localNum); // do të shfaqë 1
}

let num = 1;
func(num);

Vetë variabla localNum do të jetë variabël lokale e funksionit dhe nuk do të jetë e disponueshme nga jashtë:

javascriptfunction func(localNum) {
  
}

let num = 1;
func(num); // therrasim funksionin me parametër
console.log(localNum); // do të japë gabim

Meqenëse variabla localNum është lokale, asnjë ndryshim me të nuk do të ndryshojë asgjë jashtë:

javascriptfunction func(localNum) {
  localNum = 2; // nuk ndryshon asgjë jashtë
}

let num = 1;
func(num);

Nëse ndryshojmë variablin num brenda (globalen), atëherë ndryshimet do të shfaqen edhe jashtë:

javascriptfunction func(localNum) {
  num = 2;
}

let num = 1;
func(num);
console.log(num); // do të shfaqë 2

Sidoqoftë, nëse brenda funksionit deklarojmë variablin num përmes let, atëherë do të krijojmë në këtë mënyrë një variabël lokale num, që nuk ndikon në asnjë mënyrë në variablin e jashtëm:

javascriptfunction func(localNum) {
  let num = 2; // të deklarojmë përmes let
}

let num = 1;
func(num);
console.log(num); // do të shfaqë 1 - asgjë nuk ndryshoi
Задание 1

Përcaktoni, pa ekzekutuar kodin, çfarë do të shfaqet në konsol:

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

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

Përcaktoni, pa ekzekutuar kodin, çfarë do të shfaqet në konsol:

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

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

Përcaktoni, pa ekzekutuar kodin, çfarë do të shfaqet në konsol:

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

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

Përcaktoni, pa ekzekutuar kodin, çfarë do të shfaqet në konsol:

javascriptlet num = 1;

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

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

Përcaktoni, pa ekzekutuar kodin, çfarë do të shfaqet në konsol:

javascriptfunction func(localNum) {
  localNum = 2;
}

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

Përcaktoni, pa ekzekutuar kodin, çfarë do të shfaqet në konsol:

javascriptfunction func(localNum) {
  num = 2;
}

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

Përcaktoni, pa ekzekutuar kodin, çfarë do të shfaqet në konsol:

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

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