Globale variabelen en functieparameters in JavaScript

Stel we hebben een functie die een getal als parameter aanneemt:

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

Stel dat er buiten de functie een variabele num is:

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

let num = 1; // externe globale variabele

Laten we onze functie aanroepen en de variabele num als parameter doorgeven:

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

let num = 1;
func(num); // roep de functie aan met parameter, geeft 1 weer

Het resultaat is dat binnen de functie zowel de variabele localNum (de functieparameter) als de variabele num (als externe variabele) beschikbaar zullen zijn:

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

let num = 1;
func(num);

De variabele localNum zelf zal een lokale variabele van de functie zijn en zal niet van buitenaf toegankelijk zijn:

javascriptfunction func(localNum) {
  
}

let num = 1;
func(num); // roep de functie aan met parameter
console.log(localNum); // geeft een foutmelding

Aangezien de variabele localNum lokaal is, zullen wijzigingen eraan niets veranderen aan de buitenkant:

javascriptfunction func(localNum) {
  localNum = 2; // verandert niets aan de buitenkant
}

let num = 1;
func(num);

Als je daarentegen de variabele num binnenin verandert (de globale), dan verschijnen de wijzigingen ook aan de buitenkant:

javascriptfunction func(localNum) {
  num = 2;
}

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

Als je echter binnen de functie de variabele num declareert via let, dan creëren we op deze manier een lokale variabele num, die geen invloed heeft op de externe variabele:

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

let num = 1;
func(num);
console.log(num); // geeft 1 weer - er is niets veranderd
Задание 1

Bepaal, zonder de code uit te voeren, wat er in de console wordt weergegeven:

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

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

Bepaal, zonder de code uit te voeren, wat er in de console wordt weergegeven:

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

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

Bepaal, zonder de code uit te voeren, wat er in de console wordt weergegeven:

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

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

Bepaal, zonder de code uit te voeren, wat er in de console wordt weergegeven:

javascriptlet num = 1;

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

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

Bepaal, zonder de code uit te voeren, wat er in de console wordt weergegeven:

javascriptfunction func(localNum) {
  localNum = 2;
}

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

Bepaal, zonder de code uit te voeren, wat er in de console wordt weergegeven:

javascriptfunction func(localNum) {
  num = 2;
}

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

Bepaal, zonder de code uit te voeren, wat er in de console wordt weergegeven:

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

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