Begrip: Break & continue
Een functie is een manier om code af te zonderen. Er zijn verschillende redenen om dit te doen. Enerzijds zijn functies heel handig om code die verschillende keren uitgevoerd moet worden slechts één keer neer te schrijven. Anderzijds bevorderen functies de leesbaarheid van je code, ook als de code slechts één keer uitgevoerd wordt.
Een functie wordt gedefinieerd via het function keyword en kan eventueel parameters bevatten. In verschillende situaties is het handig om parameters optioneel te maken en een defaultwaarde mee te geven. Zo moet je, als je de functie oproept, enkel een waarde meegeven voor de parameter als je afwijkt van de standaard situatie.
Functies kunnen behandeld worden als variabelen, je kan ze dus doorgeven aan andere functies, in een array bewaren, ... Om een functie als een variable te behandelen moet je de naam van de functie gebruiken zonder ronde haakjes.
Een functie heeft regelmatig een andere functie nodig als parameter. We kunnen, zoals hierboven besproken, een functie als variabele doorgeven door de ronde haakjes weg te laten en de naam van de functie te gebruiken. Maar regelmatig is de functie die je als parameter doorgeeft uniek en ga je deze nooit opnieuw gebruiken. In dit geval kan je een anonieme functie gebruiken, dit is een functie zonder naam.
function generateGreeting(name, age) {
return `Hello ${name}, you are ${age} years old .`;
}
console.log(generateGreeting('John Doe', 30));
console.log(generateGreeting('Jane Doe', 25, 'Master in Computer Science'));function generateGreeting(name, age, education = 'Gegradueerde in het programmeren') {
return `Hello ${name}, you are ${age} years old and you are working towards the '${program}' degree.`;
}
console.log(generateGreeting('John Doe', 30));
console.log(generateGreeting('Jane Doe', 25, 'Master in Computer Science'));function execute10Times(func) {
for (let i = 0; i < 10; i++) {
// Door hier de ronde haakjes te gebruiken wordt de functie uitgevoerd.
func();
}
}
function printGreeting() {
console.log('Hello world!');
}
// De functie printGreeting wordt hier als variabele doorgegeven aan execute10Times.
execute10Times(printGreeting);function execute10Times(func) {
for (let i = 0; i < 10; i++) {
// Door hier de ronde haakjes te gebruiken wordt de functie uitgevoerd.
func();
}
}
// Het argument van execute10Times is een anonieme functie.
// De functie bestaat enkel in de scope van execute10Times en heeft geen naam.
execute10Times(function () {
console.log('Hello world!');
});:::