Globale variabler og funksjonsparametere i JavaScript

La oss si at vi har en funksjon som tar et tall som parameter:

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

La oss si at det utenfor funksjonen er en variabel num:

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

let num = 1; // ekstern global variabel

La oss kalle funksjonen vår og sende variabelen num som parameter:

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

let num = 1;
func(num); // kaller funksjonen med parameter, vil skrive ut 1

Det vil si at inni funksjonen vil både variabelen localNum (funksjonsparameteren) og variabelen num (som ekstern variabel) være tilgjengelige:

javascriptfunction func(localNum) {
  console.log(num); // vil skrive ut 1
  console.log(localNum); // vil skrive ut 1
}

let num = 1;
func(num);

Selve variabelen localNum vil være en lokal variabel for funksjonen og vil ikke være tilgjengelig utenfra:

javascriptfunction func(localNum) {
  
}

let num = 1;
func(num); // kaller funksjonen med parameter
console.log(localNum); // vil gi en feil

Siden variabelen localNum er lokal, vil ingen endringer av den endre noe utenfor:

javascriptfunction func(localNum) {
  localNum = 2; // endrer ingenting utenfor
}

let num = 1;
func(num);

Hvis vi derimot endrer variabelen num (den globale) inni, vil endringene vises utenfor også:

javascriptfunction func(localNum) {
  num = 2;
}

let num = 1;
func(num);
console.log(num); // vil skrive ut 2

Imidlertid, hvis vi deklarerer variabelen num inni funksjonen via let, vil vi på den måten opprette en lokal variabel num som ikke påvirker den eksterne variabelen:

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

let num = 1;
func(num);
console.log(num); // vil skrive ut 1 - ingenting har endret seg
Задание 1

Bestem, uten å kjøre koden, hva som vil skrives ut i konsollen:

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

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

Bestem, uten å kjøre koden, hva som vil skrives ut i konsollen:

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

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

Bestem, uten å kjøre koden, hva som vil skrives ut i konsollen:

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

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

Bestem, uten å kjøre koden, hva som vil skrives ut i konsollen:

javascriptlet num = 1;

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

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

Bestem, uten å kjøre koden, hva som vil skrives ut i konsollen:

javascriptfunction func(localNum) {
  localNum = 2;
}

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

Bestem, uten å kjøre koden, hva som vil skrives ut i konsollen:

javascriptfunction func(localNum) {
  num = 2;
}

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

Bestem, uten å kjøre koden, hva som vil skrives ut i konsollen:

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

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