< Return to Video

Funktionsparametre | Computer Programmering | Khan Academy

  • 0:01 - 0:06
    Vi er tilbage med Winston programmet,
    men jeg har tilføjet lidt tekst.
  • 0:06 - 0:11
    Jeg vil gerne have en Winston
    under hver af disse beskrivelser,
  • 0:11 - 0:13
    så vi kan se ham gennem livet.
  • 0:13 - 0:15
    Lige nu er han over det hele.
  • 0:15 - 0:20
    Det er fordi vi tilskriver faceX og faceY
    tilfældige tal inden i funktionen.
  • 0:20 - 0:27
    I stedet vil vi gerne kunne sige præcist,
    hvor hver Winston skal tegnes.
  • 0:27 - 0:30
    Jeg vil have en måde at angive positionen
    hver gang jeg kalder funktionen
  • 0:30 - 0:34
    på samme måde som vi gør ved
    ellipse() og rect().
  • 0:34 - 0:40
    Jeg vil gerne have en Winston
    her, her, her og her.
  • 0:40 - 0:44
    Jeg vil ikke have dem tilfældige steder
    hver gang jeg kalder funktionen.
  • 0:44 - 0:49
    For at gøre det er vi nødt til at
    give funktionen "parametre"
  • 0:49 - 0:54
    både i vores funktionsdefinition
    -- her øverst --
  • 0:54 - 0:58
    og i vores funktionskald hernede,
    når vi faktisk kalder den.
  • 0:58 - 1:03
    For drawWinston(),
    der sender vi den faceX og faceY
  • 1:03 - 1:10
    og vi vil nu give den værdier
    i stedet for at generere dem tilfældigt.
  • 1:10 - 1:15
    Vi skal finde ud af, hvad vi sender til
    funktionen i disse funktionskald hernede.
  • 1:15 - 1:18
    Vi vil have en Winston
    under hver beskrivelse
  • 1:18 - 1:23
    så vi vil have at x og y for hver Winston
    er tæt på de værdier,
  • 1:23 - 1:25
    vi bruger for text() funktionerne.
  • 1:25 - 1:33
    Måske 10 pixels mindre i y-værdien?
    Den første værdi bliver 10 og 30,
  • 1:33 - 1:41
    så 200, 230 og 10, 230 og 200, 230.
  • 1:41 - 1:43
    Det er det samme som tekst koordinaterne.
  • 1:43 - 1:49
    Jeg har bare lagt 10 til hvert y,
    så den bliver lidt lavere.
  • 1:49 - 1:52
    Winston har ikke flyttet sig.
  • 1:52 - 1:57
    Da vi ikke har fortalt vores funktion,
    at vi sender parametre til den,
  • 1:57 - 2:00
    så bruger den stadig
    disse tilfældige værdier.
  • 2:00 - 2:04
    For at fortælle funktionen
    "vi giver dig denne information"
  • 2:04 - 2:09
    er vi nødt til at give parametrene navne
    inde i denne parentes.
  • 2:09 - 2:15
    Vi kalder dem faceX og faceY og
    adskiller dem med et komma.
  • 2:15 - 2:21
    Vi kalder dem det, da vi allerede
    bruger dem inde i funktionen.
  • 2:21 - 2:24
    Så behøver vi ikke at omskrive
    resten af vores kode.
  • 2:24 - 2:29
    Men der sker stadig ikke noget,
    Winston er alle steder!
  • 2:29 - 2:32
    Hvis du kigger øverst i funktionen,
  • 2:32 - 2:36
    så tilskriver vi stadig faceX og faceY
    med tilfældige værdier.
  • 2:36 - 2:39
    Så vi skal blot slette disse linjer...
  • 2:39 - 2:41
    Sådan!
  • 2:41 - 2:50
    Nu sendes faceX og faceY til funktionen
    som bruger de værdier vi giver den her.
  • 2:50 - 2:54
    Du kan se, jeg ikke har
    placeret Winston korrekt.
  • 2:54 - 2:59
    Jeg glemte at tekst positioner er
    i forhold til øverste venstre hjørne
  • 2:59 - 3:02
    og ansigtets position er
    i forhold til dets midte.
  • 3:02 - 3:06
    Jeg er nødt til at fikse mine tal lidt.
  • 3:06 - 3:14
    Jeg kan flytte lidt rundt på dem…
  • 3:14 - 3:18
    Jeg behøver kun ændre det,
    der sendes til funktionen.
  • 3:18 - 3:23
    Jeg behøver slet ikke at
    ændre funktionsdefinitionen.
  • 3:23 - 3:26
    Den tager altid de værdier,
    som vi giver den.
  • 3:26 - 3:29
    Ligesom ellipse() og rect().
  • 3:29 - 3:33
    Nu har jeg flyttet dem, men jeg har
    lagt mærke til at Winston er for stor.
  • 3:33 - 3:36
    Han overlapper og kan ikke være der.
  • 3:36 - 3:39
    Da koden til at tegne ham er i en funktion
  • 3:39 - 3:42
    kan jeg ændre størrelsen af
    dem alle sammen på én gang
  • 3:42 - 3:45
    ved at ændre den linje kode,
    der tegner ellipsen.
  • 3:45 - 3:51
    Lad os lave ham 190 og 190.
  • 3:51 - 3:55
    Nu passer han meget bedre.
  • 3:55 - 4:00
    Jeg kan fortsætte med at justere ham,
    så han kan være der.
  • 4:00 - 4:03
    Smart!
  • 4:03 - 4:06
    Lad os gennemgå, hvad programmet gør.
  • 4:06 - 4:09
    Det definerer en funktion,
    som vi kalder drawWinston()
  • 4:09 - 4:15
    og funktionen tilskrives to værdier
    med navnene faceX og faceY.
  • 4:15 - 4:20
    Deres værdier er variabler, som
    vi kan bruge overalt i vores funktion,
  • 4:20 - 4:23
    ligesom vi før har
    defineret variable øverst.
  • 4:23 - 4:29
    Efter vi har defineret funktionen,
    kan vi kalde den, når vi vil.
  • 4:29 - 4:34
    Vi kan tilskrive den forskellige værdier,
    så den bruger nye værdier hver gang.
  • 4:34 - 4:37
    Du har nu set,
    hvorfor funktioner er så smarte.
  • 4:37 - 4:41
    Vi kan skrive kode, som nemt kan genbruges
  • 4:41 - 4:46
    men ved at bruge parametrene kan vi
    også ændre denne kode, når vi vil.
  • 4:46 - 4:48
    Det er ligesom en opskrift.
  • 4:48 - 4:50
    Du har skrevet instruktionerne,
    men da du opdager, at du
  • 4:50 - 4:53
    skal fodre 4 Winstons i stedet for 1,
  • 4:53 - 4:57
    så behøver du ikke starte forfra,
    du ganger blot alt med 4.
  • 4:57 - 5:04
    Nu kan du tænke lidt over dine
    kode-opskrifter! Nam-nam.
Title:
Funktionsparametre | Computer Programmering | Khan Academy
Description:

Pamela viser, hvordan du kan give parametre til dine egne funktioner, så de kan opføre sig anderledes, hver gang de bruges.

Har du undret dig over, hvad der gør tegninger kan se virkelige ud? For at opnå dette skal vi snakke til vores computer i et specielt sprog. I emnet Introduktion til JS: Grafik og animation skal vi lære at bruge programmeringssproget Javascript, når vi laver grafik og animation.

I kurset Programmering - JavaScript og internettet kan du udforske en forunderlige verden, du selv laver med programmering. Lær at programmerer grafik, animationer og spil med JavaScript og vores Processing Library. Du kan lære mere om teknologierne bag internettet, mens du designer hjemmesider med HTML og CSS.

Khan Academy har en mission om at give gratis, verdensklasse undervisning til hvem som helst, hvor som helst. Vi tilbyder quizzer, opgaver, videoer og artikler inden for områder som matematik, kunst, computerprogrammering, økonomi, fysik, kemi, biologi, medicin, finans, historie, og meget mere. Vi giver lærere værktøjer og data som de kan bruge til at hjælpe deres elever med at udvikle deres færdigheder, vaner og tankegang, så de fremover kan have succes både i skolen og senere i livet. Khan Academy er oversat til mange sprog og over 15 millioner mennesker verden over lærer via Khan Academy hver måned. Khan Academy er et 501(c)(3) nonprofit selskab.

Giv en donation eller Bliv frivillig i dag!

https://www.khanacademy.org/donate

https://www.khanacademy.org/contribute

more » « less
Video Language:
English
Team:
Khan Academy
Duration:
05:05

Danish subtitles

Revisions Compare revisions