[javascript] oop & prototypes

Pagina: 1
Acties:

  • chris
  • Registratie: September 2001
  • Laatst online: 11-03-2022
Ik ben nu eindelijk eens bezig met oop in javascript, en het is erg mooi! Nu snap ik alleen het volgende nog niet helemaal (denk ik):

Stel, de volgende code:
JavaScript:
1
2
3
4
5
6
function MyObject(n){
  var name = n;
  this.getName(){
    return name;
  }
}


Wat ik nu begrepen heb, is dat het verstandiger is om het op de volgende manier te doen:
JavaScript:
1
2
3
4
5
6
function MyObject(n){
  var name = n;
}
MyObject.prototype.getName = function(){
  return name;
}


Als ik nu 1.000.000 instances van dat object maak, zal er op manier 1 die Function getName ook 1.000.000 keer worden opgeslagen in het geheugen, terwijl als ik het op de tweede manier die Function getName maar een keer wordt opgeslagen. Klopt dit? Of heb ik het weer helemaal verkeerd begrepen?

  • Sendy
  • Registratie: September 2001
  • Niet online
Dat klopt als een bus.

  • André
  • Registratie: Maart 2002
  • Laatst online: 23-04 12:47

André

Analytics dude

Klopt idd, en een klein subtiel dingetje: het is eerder obp (object based) dan oop ;)

  • chris
  • Registratie: September 2001
  • Laatst online: 11-03-2022
Wel jammer, inline functies staan toch een stuk eleganter :)

  • Sendy
  • Registratie: September 2001
  • Niet online
Je kan zo'n prototype natuurlijk ook declareren in de constructor. Alleen dan kost het iedere keer zinloos cpu.

Verwijderd

André schreef op vrijdag 04 november 2005 @ 16:03:
Klopt idd, en een klein subtiel dingetje: het is eerder obp (object based) dan oop ;)
Ik noem het altijd OFP, Object Flavored Programming. :P
Pagina: 1