Javascript closures uitgelegd – deel III

Geschreven door: op maandag 9 mei 2016

Leestijd:

We gaan in dit deel weer verder waren gebleven in het vorige deel. Mocht je de vorige delen nog niet gelezen hebben kun je het eerste deel hier vinden en het tweede deel kun je hier vinden.

Functies verstoppen in een closure

In het laatste voorbeeld wat we lieten zien stond twee maal dezelfde regel voor het weergeven van de waarde van de counter.

Deze regel kan vervangen worden voor een functie die niet zichtbaar is buiten de closure.

javascript closures 12

In bovenstaande voorbeeld hebben we een functie met de naam display aangemaakt. Deze fucntie geven we niet terug in het return-statement van de createCounter-functie. Doordat we deze functie niet in het return-statement hebben geplaatst, is deze ook niet aan te roepen buiten de closure.

Probeer de display functie maar eens aan te roepen in je variable die de closure bevat.

Abstracte data types gebruiken

Binnen closures kunnen ook heel eenvoudig abstracte datatypes worden gebruikt. In onderstaande voorbeeld maken we een implementatie van een stack met behulp van closures (wat niet is aan te raden, JavaScript prototypes zullen in dit geval een betere keuze zijn):

javascript closures 13

Closures en OOP (Object Oriëntated Programming)

Als je gebruik maakt van OOP, dan is het vast opgevallen dat closures veel lijken op classes, objecten, instance variablen en private/public functies.

Een closure is dan ook vergelijkbaar met een classe, gekoppeld aan data met daarbinnen specifieke functies. Je kan dus closures gebruiken, waar je normaal een object zou gebruiken.

Laatste tip

Closures zijn een gave eigenschap en een functionele programmeertaal zoals JavaScript. Ze kunnen van pas komen als je echte “verborgen” velden wilt gebruiken in JavaScript, of als op momenten dat een echte class teveel van het goede is.


Andere blogartikelen

  • Til uw bedrijf naar een hoger plan met klantinzicht

    Geschreven door: op vrijdag 23 februari 2018

    80% van de CEO’s vindt de eigen organisatie klantgericht, slechts 8% van de klanten is het daarmee eens (Steven van Belleghem). In deze tijd van digitalisering is de klant kritischer dan ooit. Info ...

    Bekijk het artikel »
  • Css grid

    Geschreven door: op dinsdag 20 februari 2018

    Css grid is een vernieuwende manier voor het indelen van content op website pagina’s. Met behulp van css wordt de uiterlijk van een website bepaald. Doormiddel van een grid is het mogelijk om gemakkel ...

    Bekijk het artikel »
  • CSS vendor prefixes

    Geschreven door: op dinsdag 20 februari 2018

    Bij CSS is het voor een aantal stijl regels mogelijk om aan te geven in welke browser deze gebruikt moet worden. Hiervoor wordt het type browser toegevoegd voor de stijl regel. Dit wordt een prefix (o ...

    Bekijk het artikel »
Bel 072 5345 888
Meer dan 40 bedrijven vertrouwen op ons
Allrig is de alles in een leverancier binnen de energie-industrie
Aliancys is een toonaangevend wereldwijd bedrijf actief in de verkoop van kwaliteitsharsen
ERIKS is een toonaangevende en innovatieve leverancier aan de procesindustrie en aan machinebouwers, die zowel de rol van specialist als die van brede MRO-leverancier vervult
Industrieel dienstverlener Heinen & Hopman Engineering uit Bunschoten is dé wereldwijde specialist op het gebied van klimaatbeheersing
Handicare is een internationale organisatie die ouderen helpt om hun dagelijks leven gemakkelijker te maken door het produceren van hoogwaardige trapliften
Onze Middelen en Technologieën
microsoft silver partner
Adobe partner
fd gazellen 2017
Google analytics
Google adwords
TelefoonE-mail

whitepaper-customer-selfservice-1.png

Bedien uw klanten optimaal met customer selfservice

Download de whitepaper