Oppgaver: Funksjoner

Her skal du øve på å lage funksjoner, sende inn parametere og hente ut returverdier for å gjøre koden din gjenbrukbar og mer ryddig.

Nivå 1: Lett

👋 Enkel Hilsen

Lag din første funksjon uten noen parametere.

Krav:

  • Lag en funksjon som heter siHallo().
  • Inni funksjonen konsoll-logg ut "Hallo verden!".
  • Husk å kalle funksjonen etter at du har deklarert den for at den faktisk skal utføres: siHallo();
  • Se på browser-konsollen at meldingen dukker opp. (F12)
Nivå 1: Lett

➗ Fast Regnestykke

Lag en funksjon som alltid regner ut det samme svaret.

Krav:

  • Lag en funksjon gangMedTi().
  • I funksjonen ha variabler let x = 5;.
  • Bruk console.log(x * 10); i funksjonen.
  • Kall funksjonen og sjekk at "50" vises.
Nivå 1: Lett

🚨 Feilmelding

Lag en funksjon for å varsle brukeren.

Krav:

  • Lag en funksjon som heter visAdvarsel().
  • Koden skal bruke alert("Pass opp!");
  • Sett funksjonen til å kjøres når man trykker på en knapp. (Lag en HTML knapp: <button type="button" onclick=...>)
Nivå 2: Medium

🗣️ Personlig Hilsen

Gjør hilsenen avhengig av et argument.

Krav:

  • Lag funksjonen personligHilsen(navn).
  • Bruk console.log() til å skrive ut "Hei, " + navnet.
  • Kall opp funksjonen to ganger med to forskjellige navn: personligHilsen("Ole"); og personligHilsen("Kari");.
Nivå 2: Medium

➕ Superkalkulator

Lag en funksjon som kan legge sammen to hvilket som helst tall.

Krav:

  • Lag en funksjon adder(tall1, tall2).
  • Inni funksjonen legg tallene sammen.
  • Bruk console.log() på svaret.
  • Prøv å kalle adder(5, 10);. Du skal se 15.
Nivå 2: Medium

🔁 Gjentakeren

Bruk to parametere og en for-løkke!

Krav:

  • Lag funksjonen gjentaTekst(tekst, antallGanger).
  • Inni funksjonen, bruk en for-løkke som går fra 0 opp til antallGanger.
  • I løkken, bruk console.log() til å skrive ut teksten.
  • Kall funksjonen slik: gjentaTekst("Hurra!", 3);.
Nivå 3: Avansert

🧮 Areal Av Rektangel

Lag en funksjon som regner ut noe og returnerer verdien.

Krav:

  • Lag funksjonen finnAreal(bredde, hoyde).
  • Bruk return bredde * hoyde;.
  • Lagre svaret i en variabel, f.eks: let stueAreal = finnAreal(4, 5);
  • Skriv ut resultatet til skjermen ved å bruke en variabel ({stueAreal}) i HTML.
Nivå 3: Avansert

💰 MVA-kalkulator

Bruk returverdier for å beregne pris med skatt.

Krav:

  • Lag funksjonen leggTilMVA(prisUtenMva, mvaProsent).
  • Funksjonen skal regne ut og return totalbeløpet.
  • Bruk funksjonen til å finne pris for 200kr med 25% mva og vis tallet direkte på nettsiden.
Nivå 3: Avansert

🔎 Er det partall?

Vi kombinerer funksjoner med betingelser!

Krav:

  • Lag funksjonen erPartall(tall).
  • Bruk modulus (% 2 === 0) for å teste om tallet er i 2-gangen.
  • Returner true hvis det er et partall, ellers false.
  • Kall funksjonen og vis "Tallet er et partall" i HTML ved hjelp av {#if erPartall(4)}.
🐞 Feilsøking

Feilmelding

Vi prøver å kalle en funksjon, men ingenting skjer.

function minHilsen() {
  console.log("God morgen!");
}

minHilsen;

Oppgave:

Rett opp feilen slik at funksjonen faktisk utføres.

🐞 Feilsøking

Den Manglende Dataen

Funksjonen printer bare "Hei undefined!"

function siHei(navn) {
  console.log("Hei " + navn + "!");
}

siHei();

Oppgave:

Hvorfor skriver den undefined? Rett koden så den sender med navnet "Jens".

🐞 Feilsøking

Ingen penger tilbake

Prøver å bruke summen av et lån videre til neste regnestykke, men min variabel blir undefined.

function pluss(a, b) {
  let sum = a + b;
}

let total = pluss(5, 5);
console.log(total * 2); // Skal bli 20, men failer!

Oppgave:

Hvorfor er 'total' undefined selv om a + b er inni funksjonen? Løs problemet.