Globale variable og funktionsparametre i JavaScript
Lad os sige, at vi har en funktion, der tager et tal som parameter:
function func(localNum) {
console.log(localNum);
}
Lad os sige, at der uden for funktionen er en variabel num:
function func(localNum) {
console.log(localNum);
}
let num = 1; // ekstern global variabel
Lad os kalde vores funktion og give
variablen num som parameter:
function 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):
function 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:
function 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:
function 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:
function 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:
function func(localNum) {
let num = 2; // erklær med let
}
let num = 1;
func(num);
console.log(num); // udskriver 1 - intet ændrede sig
Bestem, uden at køre koden, hvad der udskrives i konsollen:
function func(localNum) {
console.log(localNum);
}
func(1);
Bestem, uden at køre koden, hvad der udskrives i konsollen:
function func(localNum) {
console.log(localNum);
}
let num = 1;
func(num);
Bestem, uden at køre koden, hvad der udskrives i konsollen:
function func(localNum) {
console.log(localNum);
}
let num = 1;
func(num);
num = 2;
Bestem, uden at køre koden, hvad der udskrives i konsollen:
let num = 1;
function func(localNum) {
console.log(localNum);
}
num = 2;
func(num);
Bestem, uden at køre koden, hvad der udskrives i konsollen:
function func(localNum) {
localNum = 2;
}
let num = 1;
func(num);
console.log(num);
Bestem, uden at køre koden, hvad der udskrives i konsollen:
function func(localNum) {
num = 2;
}
let num = 1;
func(num);
console.log(num);
Bestem, uden at køre koden, hvad der udskrives i konsollen:
function func(localNum) {
let num = 2;
}
let num = 1;
func(num);
console.log(num);