Functies
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.
console.log("What is your name? ");
In het onderdeel over arrays zagen we ook een aantal functies zoals de indexOf
functie die je kan uitvoeren op een array.
console.log(arr.indexOf("Banana"));
Ook het omzetten van strings naar numbers deed je met de functie parseInt
.
let age = parseInt(prompt("What is your age? "));
wat is een functie
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)

functies gebruiken
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:
functionName();
of zelfs juist heel veel argumenten
functionName(argument1, argument2, argument3, argument4, argument5, ..., argumentN);
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.
let fruits = ["Banana","Apple","Kiwi"];
let indexOfBanana = fruits.indexOf("Banana");
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.
let returnValue = console.log("Hello JavaScript");
console.log(returnValue); // undefined
Last updated