web2 logo

Artikel Links Notities

Functies en variabelen

Je kunt functies maken met een naam, zonder naam (anonieme functies) en meteen uit te voeren functies (IIFE = Immediately Invoked Function Expressions). Variabelen die in een functie worden aangemaakt, bestaan alleen in die functie en niet buiten die functie. Verschillende variabelen kunnen dezelfde naam hebben als deze binnen verschillende functies zijn aangemaakt. Een variabele die in de ene functie is aangemaakt kan in de andere functie dezelfde naam hebben, maar een totaal andere inhoud zonder dat dit conflicten geeft. Variabelen die buiten een functie worden aangemaakt, zijn globale variabelen, deze zijn in het hele script/webpagina beschikbaar.

Functies met een naam

Functies met een naam kunnen al worden aangeroepen voordat ze gedefinieerd zijn in een script. Voorbeeld van een functie met een naam, oppervlakte is hier een lokale variabele, alleen bekend binnen de functie bepaalOppervlakte: function bepaalOppervlakte(lengte, breedte) { var oppervlakte = lengte * breedte; return oppervlakte; } var vloer = bepaalOppervlakte(5,4);

Anonieme functies

Als je een variabele gelijk stelt aan een functie, dan heb je een anonieme functie gemaakt. Deze functie wordt aangeroepen als je de variabele gebruikt en kan pas gebruikt worden nadat deze gedefinieerd is: var oppervlak = function(lengte, breedte) { return lengte * breedte; } var vloer = oppervlak(5,4);

Immediately Invoked Function Expressions (IIFE)

Meteen uit te voeren functies zijn anonieme functies met extra haakjes. De functie staat zelf tussen haakjes en op het einde staan ook nog extra haakjes om ervoor te zorgen dat de functie meteen wordt uitgevoerd. Ze kunnen onder andere worden gebruikt om variabelen namen te geven die ook al in de rest van het script voorkomen. Door een functie te gebruiken geven deze namen geen conflicten met variabelen elders in het script/webpagina. Deze functies worden meteen uitgevoerd en zijn dus eenmalig. Let in dit voorbeeld op de extra haken: var oppervlakte = (function() { var lengte = 5; var breedte = 4; return lengte * breedte; }()); De extra haken in de laatste regel: }()); zorgen ervoor dat deze functie direct wordt uitgevoerd.

naar boven

term zoeken

Notitieruimte