Globale variabelen en functieparameters in JavaScript
Stel we hebben een functie die een getal als parameter aanneemt:
function func(localNum) {
console.log(localNum);
}
Stel dat er buiten de functie een variabele num is:
function func(localNum) {
console.log(localNum);
}
let num = 1; // externe globale variabele
Laten we onze functie aanroepen en de
variabele num als parameter doorgeven:
function 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:
function 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:
function 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:
function 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:
function 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:
function func(localNum) {
let num = 2; // declareren via let
}
let num = 1;
func(num);
console.log(num); // geeft 1 weer - er is niets veranderd
Bepaal, zonder de code uit te voeren, wat er in de console wordt weergegeven:
function func(localNum) {
console.log(localNum);
}
func(1);
Bepaal, zonder de code uit te voeren, wat er in de console wordt weergegeven:
function func(localNum) {
console.log(localNum);
}
let num = 1;
func(num);
Bepaal, zonder de code uit te voeren, wat er in de console wordt weergegeven:
function func(localNum) {
console.log(localNum);
}
let num = 1;
func(num);
num = 2;
Bepaal, zonder de code uit te voeren, wat er in de console wordt weergegeven:
let num = 1;
function func(localNum) {
console.log(localNum);
}
num = 2;
func(num);
Bepaal, zonder de code uit te voeren, wat er in de console wordt weergegeven:
function func(localNum) {
localNum = 2;
}
let num = 1;
func(num);
console.log(num);
Bepaal, zonder de code uit te voeren, wat er in de console wordt weergegeven:
function func(localNum) {
num = 2;
}
let num = 1;
func(num);
console.log(num);
Bepaal, zonder de code uit te voeren, wat er in de console wordt weergegeven:
function func(localNum) {
let num = 2;
}
let num = 1;
func(num);
console.log(num);