Globale variable og funktionsparametre i JavaScript

Lad os sige, at vi har en funktion, der tager et tal som parameter:

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

Lad os sige, at der uden for funktionen er en variabel num:

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

let num = 1; // ekstern global variabel

Lad os kalde vores funktion og give variablen num som parameter:

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

let num = 1;
func(num); // kalder funktionen med parameter, udskriver 1

Resultatet bliver, at der inde i funktionen vil være adgang til både variablen localNum (funktionsparameteren) og variablen num (som en ekstern variabel):

javascriptfunction func(localNum) {
  console.log(num); // udskriver 1
  console.log(localNum); // udskriver 1
}

let num = 1;
func(num);

Selve variablen localNum vil være en lokal variabel for funktionen og vil ikke være tilgængelig udefra:

javascriptfunction func(localNum) {
  
}

let num = 1;
func(num); // kalder funktionen med parameter
console.log(localNum); // vil give en fejl

Da variablen localNum er lokal, vil ændringer af den ikke ændre noget uden for funktionen:

javascriptfunction func(localNum) {
  localNum = 2; // ændrer ikke noget udenfor
}

let num = 1;
func(num);

Hvis man derimod ændrer variablen num (den globale) inde i funktionen, vil ændringerne også ses udenfor:

javascriptfunction func(localNum) {
  num = 2;
}

let num = 1;
func(num);
console.log(num); // udskriver 2

Men hvis man erklærer variablen num inde i funktionen med let, så opretter vi på den måde en lokal variabel num, som ikke påvirker den eksterne variabel:

javascriptfunction func(localNum) {
  let num = 2; // erklær med let
}

let num = 1;
func(num);
console.log(num); // udskriver 1 - intet ændrede sig
Задание 1

Bestem, uden at køre koden, hvad der udskrives i konsollen:

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

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

Bestem, uden at køre koden, hvad der udskrives i konsollen:

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

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

Bestem, uden at køre koden, hvad der udskrives i konsollen:

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

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

Bestem, uden at køre koden, hvad der udskrives i konsollen:

javascriptlet num = 1;

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

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

Bestem, uden at køre koden, hvad der udskrives i konsollen:

javascriptfunction func(localNum) {
  localNum = 2;
}

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

Bestem, uden at køre koden, hvad der udskrives i konsollen:

javascriptfunction func(localNum) {
  num = 2;
}

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

Bestem, uden at køre koden, hvad der udskrives i konsollen:

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

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