8: functies
Last updated
Last updated
Tot nu toe ben je al een aantal keren het concept van functie of methode tegengekomen, zonder echt te weten hoe functies werken. De meest bekende functie die je tot nu toe hebt gebruikt is de console.log()
functie.
In het onderdeel over arrays zagen we ook een aantal functies zoals de indexOf
functie die je kan uitvoeren op een array.
Ook het omzetten van strings naar numbers deed je met de functie parseInt
.
We hebben in veel gevallen een speciaal soort functies gebruikt die bij een bepaald object horen. Dit was het geval bij de functies die bij de arrays horen (zoals indexOf
). Dit soort functies noemen we methoden. In dit onderdeel gaan we zelf geen methoden schrijven. Beschouw methoden op dit moment als een speciaal type van functies.
Een functie is een van de belangrijkste bouwstenen van een programma. Ze laten het toe om bepaalde code te herhalen zonder de code meerdere keren opnieuw te typen. We groeperen stukken code die we dus meerdere keren kunnen gebruiken.
Dit is bijvoorbeeld wat er gebeurt bij een console.log
. Hoewel we de echte code van deze functie niet zelf kunnen lezen, zit er achter deze functie een stuk code die het mogelijk maakt om dingen op het scherm tevoorschijn te toveren. Wijzelf moeten deze code niet zelf schrijven, wij kunnen gewoon de functie gebruiken die dat doet voor ons.
De meeste functies zien er als volgt uit:
Je steekt er een aantal input argumenten in
De functie doet iets met deze argumenten
Optioneel: Geeft iets terug (return)
Een leuke analogie is een functie beschouwen als een soort recept. Als je een recept gebruikt betekent dit dat:
Je met een aantal ingredienten start (de input)
Je voert een aantal stappen uit met die ingredienten (de body van de functie)
Je krijgt een gerecht als resultaat (return waarde)
Elke functie die we tot nu toe hebben gebruikt werkt op dezelfde manier. We roepen de functie aan door de naam van de functie te schrijven gevolgd door haakjes. Tussen die haakjes plaatsen we de argumenten van de functie. Deze worden vaak de input genoemd van de functie. Een functie kan 0 argumenten hebben:
of zelfs juist heel veel argumenten
Opgelet: in JavaScript worden oproepen met een ongeldig aantal argumenten niet tegengehouden. Overbodige argumenten worden gewoon genegeerd en ontbrekende argumenten worden undefined
.
Elke functie heeft ook een return waarde die je eventueel kan toekennen aan een variabele.
De indexOf
functie heeft als return waarde een number die aangeeft op welke index het gezochte string staat.
Soms heeft een functie geen return waarde. In JavaScript zal de functie dan de speciale waarde undefined
teruggeven. console.log
heeft bijvoorbeeld geen return waarde.