JavaScript: Funksjoner
En funksjon er en gjenbrukbar blokk med kode. Den lar oss skrive kode én gang, og kjøre den så mange ganger vi vil og til og med tilpasse hvordan den oppfører seg!
1. Deklarasjon og Kall
Vi bygger ("deklarerer") funksjonen først. Det er som en slags 'oppskrift' til hvordan koden skal fungerere, men uten at noe skjer! For at koden blir utført, så må vi rope på den ("kalle på") med funksjonsnavn og parenteser.
console.log("Hei på deg!");
}
// Nå kaller vi på funksjonen:
siHei();
siHei();
2. Parametere
For at funksjoner skal være fleksible, kan vi sende inn
informasjon til dem.
Disse kalles parametere (plassholdere
i selve funksjonsdeklarasjonen) eller argumenter (de faktiske
verdier som sendes til funksjonen).
console.log("Hei, " + navn + "!");
}
// Sender inn "Mario" som argument
hils("Mario");
hils("Luigi");
3. Returverdier
Ofte vil vi at en funksjon skal regne ut noe og sende svaret tilbake i stedet for å bare printe det ut.
Da bruker vi return (uten parenteser e.l.).
OBS:Det vi sender tilbake må være en verdi,
f.eks. "hei" (string), 23 (number), false (boolean), [1,2,3]
(array) eller objekt. Det kan ikke være noe som console.log("hei")
let avslag = pris * (rabattProsent / 100);
return pris - avslag;
}
let minPris = kalkulerNyPris(200, 25);
// minPris er nå 150
♻️ Fullstendig Gjenbrukbar
Kombinasjonen av parametere (data inn) og returverdier (data ut) gjør en funksjon til en komplett uavhengig "maskin".
Spesifikke verdier går inn, blir bearbeidet uansett hvor de kom fra, og et forutsigbart resultat spyttes ut og kan brukes videre hvor som helst i programmet!
// Hvis vi vil kaste på nytt eller endre til 10 sider, må vi skrive alt om igjen!
let tilfeldigTall = Math.floor(Math.random() * 6) + 1;
console.log("Du trillet: " + tilfeldigTall);
// 2. 'return' sender det ferdige tallet tilbake (output).
function trillTerning(antallSider) {
return Math.floor(Math.random() * antallSider) + 1;
}
// Nå kan vi trille hva som helst, hvor som helst!
let vanligTerning = trillTerning(6);
let d20 = trillTerning(20);
let myntkast = trillTerning(2);
🗝️ Sentrale Begreper
- Deklarere: Å bygge funksjonen,
function navn() { ... }. - Kalle på: Å be koden om å kjøre, f.eks.
navn();(merk parentesene!). - Parameter: Variabler spesifisert inni parentesene under deklarasjonen.
- Argument: Den faktiske verdien som sendes inn i funksjonen når den kalles.
- return: Søkeord for å skyte en verdi tilbake der funksjonen ble kalt. Avslutter alltid funksjonen.