[js] object naam variabel maken en dan de methodes toepassen

Pagina: 1
Acties:

  • hobbeldebobbel
  • Registratie: Februari 2001
  • Laatst online: 15-02-2023
ik loop inmiddels al een tijdje te kloten met het volgende probleem. Ik heb een aantal eigen objecten gemaakt met:
JavaScript:
1
2
3
4
5
6
7
8
9
10
function boot(bootid, discipline, instructeur, cursisten, status){
    
    this.status = status;
    this.bootid = bootid;
    this.discipline = discipline;
    this.instructeur = instructeur;
    this.cursisten = cursisten;
    
};
boot34 = new boot(56,'kb','','','bestaand');

pretty straight forward niet?
nu het volgende:
JavaScript:
1
2
3
4
5
function veranderDiscipline(idee,bootid,el){
bootid.discipline = el;
alert(bootid.discipline);
};
veranderDiscipline('56','boot34','jz');

ik had nu verwacht om een alert te krijgen met daarin jz. Maar ik krijg undefined ...

best logisch want bootid is geen boot object het is boot34 wat een object is...
hoe kan ik dat nu gedaan krijgen?

[ Voor 121% gewijzigd door hobbeldebobbel op 02-02-2007 22:47 ]

hier zou een slimme opmerking kunnen staan
maar die staat er niet


Verwijderd

Je geeft het object niet mee maar een string:
JavaScript:
1
2
3
4
veranderDiscipline('56','boot34','jz');

// Maak hier dit van:
veranderDiscipline('56',boot34,'jz');

  • hobbeldebobbel
  • Registratie: Februari 2001
  • Laatst online: 15-02-2023
ok die snap ik...
maar dan nu dit, ik hebnog steeds een boot als object
code:
1
2
function voegtoe(){
newID = 'nieuweBoot'+hoeveelBoten;

en nu wil ik een nieuw boot object maken die als naam dat newID )nieuweBoot+getal heeft, dus eigenlijk:
code:
1
newID = new boot();

Dat resulteert uiteraard in een foutmelding.
hij ziet dan newID als de nieuwe object naam...
hoe kan ik dat oplossen?

hier zou een slimme opmerking kunnen staan
maar die staat er niet


  • crisp
  • Registratie: Februari 2000
  • Laatst online: 15:35

crisp

Devver

Pixelated

Als het een object in de global scope moet zijn:
JavaScript:
1
window[newID] = new boot();

dat is de normale manier om variabele properties aan een object toe te kennen ;)

[ Voor 27% gewijzigd door crisp op 03-02-2007 00:33 ]

Intentionally left blank


  • hobbeldebobbel
  • Registratie: Februari 2001
  • Laatst online: 15-02-2023
crisp je bent een held... ik zou je wel willen zoenen... alles valt op zn plaats !!!! en daar heb ik dus gewoon de hele tijd tegen aan zitten te hikken :)

HELD

ps: ik heb dus de objecten gevonden ;)

[ Voor 11% gewijzigd door hobbeldebobbel op 03-02-2007 00:38 ]

hier zou een slimme opmerking kunnen staan
maar die staat er niet


Verwijderd

en andersom werkt dus ook:
JavaScript:
1
2
3
4
5
function veranderDiscipline(idee,bootid,el){
window[bootid].discipline = el;
alert(window[bootid].discipline);
};
veranderDiscipline('56','boot34','jz');
Pagina: 1