OVH Cloud OVH Cloud

[javascript] Nom de variable dynamique

13 réponses
Avatar
jero
bonjour,

je cherche =E0 cr=E9er des variables dont le nom serait dynamique.
Cela se fait tr=E8s facilement en actionscript avec eval(), assez
facilement en PHP puisque dans les deux cas je trouve beaucoup de
propositions dans les r=E9sultats de mes recherches.

En revanche rien pour le javascript ...

quelqu'un as-t-il une id=E9e ou une solution (!) =E0 partager sur le
sujet.

D'avance merci.
J=E9r=F4me

3 réponses

1 2
Avatar
Florian Sinatra
*Laurent vilday* @ 28/08/2006 02:21 :
Un "équivalent" de l'interprétation du alert(eval(truc)) peut se
traduire comme suit (attention les yeux :)

var FUNC = new Function("return " + truc);
alert( FUNC() );


Très clair, merci.

Dans l'exemple ici : alert( window [ truc ] );


Excellent, ca. On aurait pu écrire window.truc aussi non ?

Avatar
BertrandB
*Laurent vilday* @ 28/08/2006 02:21 :

Dans l'exemple ici : alert( window [ truc ] );


Excellent, ca. On aurait pu écrire window.truc aussi non ?
Sémantiquement c'est différent ;) même si c'est du pareil

window[truc] me parle d'une entrée d'un dictionnaire
window.truc me parle d'un champs d'un enregistrement ou d'une propriété
d'un objet.


Avatar
Fanch'
exemple que j'essaie de faire simple :

var truc = uneValeur
var [laValeurDeTrucCommeNomDeVariable] = 'muche'



Salut,

A priori c'est ça que tu voulais faire (?):

var global = this;
var S1='le contenu de la variable S1';
var Id='message0';

global[Id]=S1;

document.write(message0); // donne le contenu de la variable S1

// message0 est bien devenu une variable qui a pour valeur 'le contenu
de la variable S1'.

François

1 2