[js] getVariableByName?

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • Rekcor
  • Registratie: Februari 2005
  • Laatst online: 05-09 21:08
Ik heb een vervelend probleem. Een PHP-pagina van mij genereert een globale variabele met een variabele naam.

Op pagina A heet de variable bijv. 'aap', op pagina B 'noot' en op pagina C 'mies'.


Nu wil ik in een Javascript-functie de bewuste variabele gebruiken. Nu weet deze functie wel de naam van die variabele:

myJsFile.js
JavaScript:
1
2
var aap = 'hoi';
var sVariabeleNaam = 'aap';


andereJsFile.js
JavaScript:
1
2
3
4
function myFuntion()
{
  alert(sVariabeleNaam);
}


JavaScript:
1
2
3
4
5
6
7
var aap = 1;
var sVariabeleNaam = 'aap';

function myFuntion()
{
  alert(sVariabeleNaam);
}


maar ik wil de variabele zelf hebben. Ik ben dus eigenlijk op zoek naar een functie getVariableByName:


JavaScript:
1
2
3
4
5
6
function myFuntion()
{
  var myVar = getVariableByName(sVariabeleNaam);

  alert(myVar); //alerts 'hoi'
}


Kan dit in Javascript?

Acties:
  • 0 Henk 'm!

  • MichielioZ
  • Registratie: Augustus 2001
  • Laatst online: 15-06 23:12
Volgens mij bedoel je gewoon de "functie" [url href=http://www.w3schools.com/jsref/jsref_eval.asp]eval()[/url]

Maar waarom roep je niet gewoon "aap" aan in je functie ?

Iedereen wil terug naar de natuur, maar niemand wil lopend...


Acties:
  • 0 Henk 'm!

Verwijderd

Alle globale variabelen zijn member van het global object, in je browser is dat het window object. Het is dus heel simpel: window[sVariabeleNaam]

Acties:
  • 0 Henk 'm!

  • Rekcor
  • Registratie: Februari 2005
  • Laatst online: 05-09 21:08
Thanks Cheatah, dat werkte!

@MichielioZ: de andere Javascript-file weet niet dat de variabele 'aap' heet ;)

[ Voor 5% gewijzigd door Rekcor op 16-02-2008 11:52 ]