Javascript closures uitgelegd – deel II header image

Javascript closures uitgelegd – deel II

maandag 18 april 2016 ·Leestijd: 2 minuten
contacteer auteur:

Dit is deel twee van de uitleg over Javascript closures. Mocht je deel I nog niet gelezen hebben, lees dan eerst het eerste deel. In dit artikel gaan we namelijk verder waar we gebleven waren in het vorige artikel.

De counters een naam geven

Het bericht wat in het vorige voorbeeld werd getoond is voor elke counter hetzelfde. Dit is natuurlijk niet handig als je veel counters moet bijhouden. Dit kunnen we als volgt oplossen:

javascript closures 6

Bovenstaande code kan als volgt worden aangeroepen:

javascript closures 7

Het voordeel aan closures is dat deze niet alleen intern variable kunnen bijhouden, maar ze onthouden ook met welke waardes ze zijn aangeroepen. Dit hoef je dus maar één keer mee te sturen.

De aanroep verbeteren

De manier waarop de functie increment wordt aangeroepen kan ook nog verbeterd worden. Het is nu namelijk niet mogelijk om een andere functie aan te roepen. Daarom moeten eerst de createCounter functie worden aangepast zodat deze niet altijd de increment-functie aanroept.

Dit doen we als volgt:

javascript closures 8

In de createCounter-functie geven we nu alle functies terug die de closure bevat. We geven hiermee aan welke functies de closure allemaal bevat en kunnen worden aangeroepen.

De createCounter-functie kunne we dan als volgt gaan gebruiken:

javascript closures 9

De createCounter functie uitbreiden met een verlaag functie

Nu we weten hoe we functies in die in de closure staan kunnen teruggeven, is het heel eenvoudig om deze uit te breiden met een functie om de counter te verlagen.

javascript closures 10

Zoals te zien is in bovenstaand is het alleen nodig om de functie decrement toe te voegen aan de closure en aan het return object. Daarna werd de nieuwe functie op dezelfde manier als onze bestaande functie.

Closures nog verder uitgelegd

In het volgende deel gaan we nog dieper in op het gebruik van closures. Zo leggen we uit hoe je functies kunt verstoppen in een closure en hoe je abstracte datatypes kunt gebruiken.


Andere blogartikelen

Integraties met API's van verschillende partijen
Geschreven door
op donderdag 30 juni 2022
Bij Sigma Solutions maken wij integraties met verschillende partijen, die ervoor zorgen dat jouw bedrijfsproces geautomatiseerd en gedigitaliseerd kan worden. We zijn constant op zoek naar passende oplossingen voor onze klanten.
Wat is B2B Online Advertising?
Geschreven door
op donderdag 30 juni 2022
B2B Online Advertising is een marketingstrategie die bedoeld is om een zakelijke boodschap over te brengen aan andere bedrijven door middel van advertenties.
Als traditioneel bedrijf succesvol blijven in een tijdperk van digitalisering
Geschreven door
op donderdag 30 juni 2022
Wil je als traditioneel bedrijf succesvol blijven in een tijdperk van 'digital natives'? Lees dan deze blogpost!
Open Nieuwsbrief Inschrijving Footer

E-book

Zo wordt uw website een lead generator 
In 3 stappen uw website van visitekaartje naar salesfunnel

Download het E-book â€º