You may want to put some text here

Javascript variable variables

Iets wat je vroeg of laat in elke programmeer of scripttaal wel eens nodig hebt is variable variables. Je hebt bijvoorbeeld 3 variablen: naam1, naam2 en naam3, en afhankelijk van de waarde van variable i wil je de bijhorende naam tonen.

In PHP doe je dit op de volgende manier:

$i = 2;
$naam1 = "Wim";
$naam2 = "Jos";
$naam3 = "Jef";

echo $('naam' . $i);

Met deze werkwijze in PHP zullen deze meeste webontwikkelaars wel vertrouwd zijn. Maar hoe doe je dit nu in Javascript.

Je kan dit gaan doen met de eval() functie maar dit is niet aan te raden. De eval() functie is iets dat je zoveel mogelijk moet proberen te vermijden zowel in Javascript als in PHP.

Een betere manier is, het gebruik maken van window.

var i = 2;
var naam1 = "Wim";
var naam2 = "Jos";
var naam3 = "Jef";

alert( window['naam' + i] );

The Author of this post is Wim Mostmans

Wim Mostmans heeft een eigen webontwikkeling bedrijf Sitebase waar hij voltijds voor werkt. Hij beheert ook nog enkele websites waaronder deze en een Computerforum. Blijf op de hoogte van waar Wim mee bezig is door hem te volgen op Twitter.

5 Responses »

  1. Heel interessant. Bedankt !!

  2. Dit lijkt erg op een engelse post die ik tegenkwam :P. Ik heb 2 variables:
    – ministry (object)
    – video (string)
    Daarvan wil ik maken ministry.video.
    window[ministry + ‘.’ + mediatype] werkt niet.. window[‘ministry.’ + mediatype] werkt ook niet.. Suggesties?

  3. *edit, variables zijn
    – ministry
    – mediatype

    ministry.mediatype samengevoegd zou dus ministry.video kunnen worden. mediatype is een string die ‘audio’, ‘video’ of ‘blog’ kan bevatten. ministry bevat waarden zoals ministry.name, ministry.description, enz.

  4. Opgelost. ministry.video blijkt hetzelfde te zijn als ministry[video]. ministry[mediatype] blijkt gewoon te werken!

Leave a Comment