Globale variabler og funksjonsparametere i JavaScript
La oss si at vi har en funksjon som tar et tall som parameter:
function func(localNum) {
console.log(localNum);
}
La oss si at det utenfor funksjonen er en variabel num:
function func(localNum) {
console.log(localNum);
}
let num = 1; // ekstern global variabel
La oss kalle funksjonen vår og sende
variabelen num som parameter:
function 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:
function 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:
function 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:
function 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å:
function 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:
function func(localNum) {
let num = 2; // deklarerer via let
}
let num = 1;
func(num);
console.log(num); // vil skrive ut 1 - ingenting har endret seg
Bestem, uten å kjøre koden, hva som vil skrives ut i konsollen:
function func(localNum) {
console.log(localNum);
}
func(1);
Bestem, uten å kjøre koden, hva som vil skrives ut i konsollen:
function func(localNum) {
console.log(localNum);
}
let num = 1;
func(num);
Bestem, uten å kjøre koden, hva som vil skrives ut i konsollen:
function func(localNum) {
console.log(localNum);
}
let num = 1;
func(num);
num = 2;
Bestem, uten å kjøre koden, hva som vil skrives ut i konsollen:
let num = 1;
function func(localNum) {
console.log(localNum);
}
num = 2;
func(num);
Bestem, uten å kjøre koden, hva som vil skrives ut i konsollen:
function func(localNum) {
localNum = 2;
}
let num = 1;
func(num);
console.log(num);
Bestem, uten å kjøre koden, hva som vil skrives ut i konsollen:
function func(localNum) {
num = 2;
}
let num = 1;
func(num);
console.log(num);
Bestem, uten å kjøre koden, hva som vil skrives ut i konsollen:
function func(localNum) {
let num = 2;
}
let num = 1;
func(num);
console.log(num);