[JS] Nut van eigen objecten?

Pagina: 1
Acties:

  • Thijsmans
  • Registratie: Juli 2001
  • Laatst online: 16:17

Thijsmans

⭐⭐⭐⭐⭐ (5/5)

Topicstarter
* Thijsmans komt net terug van vakantie, en heeft daar twee JavaScript boeken gelezen omdat hij toch zijn computer bij zich had. Die boeken had ik al anderhalf jaar en daar had ik ook al een heleboel uit gedaan, maar wat extra kennis is natuurlijk nooit weg.

Zo kwam ik aan bij het zelf objecten maken. Ik heb er een week lang over na zitten denken, maar ik kon die ene vraag niet beantwoorden. Waarom? Waarom zou je objecten gebruiken, en niet gewoon variabelen? Een voorbeeld:
code:
1
2
3
4
5
6
7
8
9
10
function Computer(ram, disk, processor, snelheid){
     this.ram    = ram;
     this.disk  = disk;
     this.processor = processor;
     this.snelheid  = snelheid;
}

pc = new Computer(32, 2500, "Pentium", "166Mhz");
[..]
document.write(pc.ram);

Dat vind ik toch aanzienlijk langer dan dit:
code:
1
2
var pc_ram = 32;
document.write(pc_ram);

Waarom :?

Privacy-adepten vinden op AVGtekst.nl de Nederlandse AVG-tekst voorzien van uitspraken en besluiten.


  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 29-08 19:47

Bosmonster

*zucht*

Niet als je 100 comptuers aan wilt maken.

Of simpelweg een menu emt menuitems. In dat geval maak je een menuitem-object bijvoorbeeld.

Met alleen variabelen kun bijna niet meer programmeren tegenwoordig..

  • André
  • Registratie: Maart 2002
  • Laatst online: 14:17

André

Analytics dude

Ga eens naar mijn [spam mode]homepage[/spam mode]. Daar zie je een aantal ramen staan.

Elk raam is gebaseerd op 1 object. Dat object heb ik geschreven en nu kan ik met een handomdraai 1000 ramen maken, omdat dat object al bestaat en gedefinieerd is.

Als ik dat met variabelen zou doen, moet ik ze alle 1000 stuk voor stuk met de hand inkloppen.

  • Thijsmans
  • Registratie: Juli 2001
  • Laatst online: 16:17

Thijsmans

⭐⭐⭐⭐⭐ (5/5)

Topicstarter
Aha, 't is duidelijk. Maar wat een [nofi-mode]verschrikkelijke site[/nofi-mode], ik kon niet eens op het kruisje klikken omdat hij bewoog :{

Privacy-adepten vinden op AVGtekst.nl de Nederlandse AVG-tekst voorzien van uitspraken en besluiten.


  • André
  • Registratie: Maart 2002
  • Laatst online: 14:17

André

Analytics dude

Op vrijdag 03 mei 2002 19:16 schreef Prammenhanger het volgende:
Aha, 't is duidelijk. Maar wat een [nofi-mode]verschrikkelijke site[/nofi-mode], ik kon niet eens op het kruisje klikken omdat hij bewoog :{
Dat gebeurd wanneer je over het logo heen gaat. Alleen is dat trillen bij mij in 2 seconden afgelopen. Bij jou niet dan?

  • crisp
  • Registratie: Februari 2000
  • Laatst online: 00:28

crisp

Devver

Pixelated

Inderdaad; er is een tijdje terug een topic geweest over een stuiterbal. Als je daar een object van maakt kan je met deze code simpelweg meerdere stuiterballen over je scherm laten bewegen:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
function stuiterbal() {

  // set properties for your stuiterbal object

}

function create_stuiterbal() {

  // set the code to create your stuiterbal

}

function move_stuiterbal() {

  // set the code to move your stuiterbal

}

stuiterbal.prototype.create = create_stuiterbal;
stuiterbal.prototype.move = move_stuiterbal;

var stuiterballen = new Array();
for (var i=0; i<100; i++) {
  stuiterballen[i] = new stuiterbal(some properties);
  stuiterballen[i].create();
  stuiterballen[i].move();
}

Intentionally left blank


Verwijderd

Objecten in JS zijn een absolute must. Als ik nu aan een nieuw JS/DHTML-project begin, is het eerste wat ik doe een lijstje maken:
- wat voor objecten heb ik nodig?
- welke eigenschappen moeten ze hebben?
- welke methodes moeten ze hebben?

Zelfs voor kleinere projecten is dit nuttig omdat het je min of meer dwingt om gestructureerd te werk te gaan. JS is een taal die het heel erg makkelijk maakt om complete garbage code te schrijven die nog wel werkt. Gebruik maken van objecten helpt dit voorkomen en maakt later debuggen een stuk eenvoudiger.

  • Pelle
  • Registratie: Januari 2001
  • Laatst online: 23:47

Pelle

🚴‍♂️

Inderdaad, objecten zijn superhandig. Ik zou niet weten hoe ik m'n pellePaint op een makkelijke en overzichtelijke manier voor elkaar had moeten krijgen zonder objecten.

Elke pixel heeft namelijk een aantal properties (kleur, id, enz) en een aantal methods (setColor, floodFill, enz) waarmee het erg makkelijk is een pixel te kleuren of een vlak te vullen (floodFill is niets anders dan een recursieve setColor op een pixel en de daaromheenliggende pixels).
Heb ook een layer-object gemaakt; dat dus weer pixel-objecten kan bevatten, enzovoorts.
Had ik dit met slechts variabelen en arrays moeten doen, was het een grote bende geworden.
Pagina: 1