JavaScript
Funktioner i JavaScript
En funktion er et stykke kode, du giver et navn, så du kan køre det igen senere. Den kan tage værdier ind som parametre og give en værdi tilbage med return. Det er den vigtigste måde at undgå at skrive det samme flere steder, og at holde koden læsbar.
Forudsætter, at du har set variabler i javascript .
En opskrift, du kan følge flere gange
En funktion er en opskrift: den står ét sted, og du kan bruge den, så tit du vil, med forskellige ingredienser.
function hilsPaa(navn) {
return "Hej, " + navn + "!";
}
console.log(hilsPaa("Ida"));
console.log(hilsPaa("Omar")); Output
Tryk på “Kør koden”.
Der sker to ting her, og de er værd at holde adskilt:
- Erklæringen er linjerne med
function. De definerer opskriften. Der sker ingenting, når JavaScript læser dem. - Kaldet er
hilsPaa("Ida"). Det er der, koden faktisk kører.
Skriver du kun erklæringen og glemmer at kalde funktionen, sker der ingenting - og der kommer heller ingen fejl. Det forvirrer mange første gang.
Parametre og argumenter
navn i erklæringen er en parameter: et navn på den værdi, funktionen skal
have ind. "Ida" i kaldet er et argument: den konkrete værdi. Inde i
funktionen opfører parameteren sig som en helt almindelig variabel.
Du kan have flere, adskilt af komma, og de bliver parret op i rækkefølge:
function pris(antal, styk) {
return antal * styk;
}
console.log(pris(3, 49.5)); Output
Tryk på “Kør koden”.
Sender du færre argumenter, end der er parametre, bliver resten undefined. Det
giver ingen fejl. Bare et mærkeligt resultat.
return stopper funktionen
return gør to ting på én gang: sender en værdi tilbage, og afslutter funktionen
med det samme. Kode efter et return kører aldrig.
function beskriv(karakter) {
if (karakter < 2) {
return "Ikke bestået";
}
return "Bestået";
}
console.log(beskriv(0));
console.log(beskriv(7)); Output
Tryk på “Kør koden”.
Det bruges bevidst til at komme ud tidligt og undgå dybe if-kæder.
function forkert(a, b) {
console.log(a + b);
}
function rigtig(a, b) {
return a + b;
}
const x = forkert(2, 3);
const y = rigtig(2, 3);
console.log("x er " + x);
console.log("y er " + y); Output
Tryk på “Kør koden”.
De to skrivemåder
Du vil møde funktioner skrevet på to måder. De gør det samme her:
function dobbelt(tal) {
return tal * 2;
}
const tredobbelt = (tal) => {
return tal * 3;
};
console.log(dobbelt(5));
console.log(tredobbelt(5)); Output
Tryk på “Kør koden”.
Den nederste hedder en arrow function. Den fylder mindre og bruges især, når en funktion skal sendes med som argument til en anden funktion. Det møder du i array-metoder.
Hvad en god funktion gør
- Én ting. Kan du ikke beskrive den i én sætning uden “og”, bør den nok deles.
- Navn med et udsagnsord.
beregnMoms, ikkemoms. - Ingen overraskelser. Samme input skal give samme output.
Kort opsamling
- Erklæring definerer, kald udfører.
- Parametre er navne, argumenter er værdier.
returnafleverer værdien og stopper funktionen.console.loger ikke en erstatning forreturn.
Øv dig
Læs videre
- Scope - hvor en variabel findes Scope i JavaScript forklaret på dansk: hvorfor en variabel fra en funktion ikke findes udenfor, og hvordan du læser ReferenceError is not defined.
- map, filter og find map, filter, find og reduce i JavaScript forklaret på dansk, med eksempler du kan køre. Hvornår du bruger hvilken, og hvorfor de er bedre end en for-løkke.
- if og else if, else og else if i JavaScript forklaret på dansk. Sådan får du programmet til at vælge, og sådan undgår du de tre klassiske begynderfejl.
Senest gennemgået .