web2 logo

Artikel Links Notities

Objecten in javascript

Een object in javascript bestaat uit een verzameling variabelen en functies die samen een model van iets voorstellen. Variabelen van een object worden eigenschappen (properties) genoemd en functies worden methoden (methods) genoemd. De eigenschappen en methoden van een object kunnen via de dot-notering worden aangeroepen. De eigenschappen kunnen ook nog via de vierkante haken worden opgeroepen (zoals met een array).

Een object maken (literal notation)

Je kunt een object uit het niets maken door deze ook meteen in te vullen met de gewenste waarden: var grootboekrekening = { naam: 'Kas', nummer: '1000', blokkering: false, debet: 542.28, credit: 452.12, bepaalSaldo: function(){ return Math.round((this.debet - this.credit)*100)/100; } }; var saldo = grootboekrekening.bepaalSaldo(); var geblokkeerd = (grootboekrekening.blokkering) ? ('ja') : ('nee'); var grb = ('Naam: '+grootboekrekening.naam+' '); grb += ('Nummer: '+grootboekrekening.nummer+'br'); grb += ('Geblokkeerd: '+geblokkeerd+'br'); grb += ('Debet: '+grootboekrekening.debet+'br'); grb += ('Credit: '+grootboekrekening.credit+'br'); grb += ('Saldo: '+saldo); document.write(grb); Resultaat: Naam: Kas Nummer: 1000 Geblokkeerd: nee Debet: 542.28 Credit: 452.12 Saldo: 90.16 De eigenschappen van een object kunnen ook worden aangesproken via de vierkante haken. De naam van de eigenschap moet dan tussen aanhalingstekens staan: var grbnaam = grootboekrekening['naam']; document.write(grbnaam); Een leeg object kun je maken met 2 lege gekrulde haken: var grootboekrekening = {}

Een object maken (constructor)

Met de Object constructor functie en het new keyword kan je een nieuw, leeg object aanmaken: var grootboekrekening = Object(); Nu kan je eigenschappen en methoden toevoegen aan het nieuwe, lege, object: grootboekrekening.naam = 'Kas'; grootboekrekening.nummer = 1000; grootboekrekening.blokkering: false; grootboekrekening.debet: 542.28; grootboekrekening.credit: 452.12; grootboekrekening.bepaalSaldo: function(){ return Math.round((this.debet - this.credit)*100)/100; }; Een eigenschap aanpassen doe je door er een nieuwe waarde aan toe te kennen. grootboekrekening.naam = 'Bank'; Een eigenschap verwijderen doe je met delete: delete grootboekrekening.naam;

Meerdere objecten aanmaken met een constructor functie

Met een functie kan je een template voor een object aanmaken. function Grootboekrekening(naam,nummer,blokkering,debet,credit){ this.naam = naam; this.nummer = nummer; this.blokkering = blokkering; this.debet = debet; this.credit = credit; this.bepaalSaldo = function() { return Math.round((this.debet - this.credit)*100)/100; } } De functienaam begint in dit geval met een hoofdletter om aan te geven dat het om een object gaat. Nieuwe objecten aanmaken met deze template gaat eenvoudig: var kasRekening = new Grootboekrekening('Kas',1000,false,542.28,452.12); var bankRekening = new Grootboekrekening('Bank',1010,false,628.45,248.41);

this

Het keyword this verwijst naar het object waarin het gebruikt wordt. Als je het buiten een object gebruikt, dan zal this verwijzen naar het globale window-object.

Arrays vs objecten

Arrays kunnen net als objecten meerdere elementen bevatten. In een object heeft ieder element een unieke naam. In een array heeft ieder element een uniek nummer (index). Deze nummering begint bij nul. Het eerste array-element is dan bijvoorbeeld: grootboekrekening[0]. Arrays kunnen objecten bevatten en andersom.

naar boven

term zoeken

Notitieruimte