Nom de variable [Résolu]

Signaler
Messages postés
1980
Date d'inscription
dimanche 20 février 2005
Statut
Membre
Dernière intervention
24 septembre 2012
-
Messages postés
1980
Date d'inscription
dimanche 20 février 2005
Statut
Membre
Dernière intervention
24 septembre 2012
-
Bonjour !

Je sais que le titre n'est pas clair mais je me demandais si on pouvait faire l'équivalent en javascript de $$variable en php.

C'est à dire que si:

var type = "table";

je voudrais que d'une façon ou d'une autre type[0] me renvoie le contenu de table[0].
Ce qui m'éviterait de faire if (type = = table) ....

Merci !

7 réponses

Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
32
ah... dans une fonction !

<script type="text/javascript">
var tableau = 'tadaaa';
function ex()
{   var nom = 'tableau';
    return ( window[nom] );
}
alert(ex());
</script>

je n'ai pas regardé ( cherché ) pour utiliser tableau si c'est une variable locale
ça ne doit pas "être loin" si nécessaire...

<hr />


Cordialement                Bul     [mon Site]     [M'écrire]



<hr />
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
32
Bonjour,

    pas sûr de répondre...   une variable de variable ?

        var tutu = "toto";
        var titi ="tutu";
        alert(window[titi]);

<hr />


Cordialement                Bul     [mon Site]     [M'écrire]



<hr />
Messages postés
1980
Date d'inscription
dimanche 20 février 2005
Statut
Membre
Dernière intervention
24 septembre 2012
5
Bonjour Bultez !

Oui je pense que ça pourrait ressembler à ça mais ça ne marche pas.

Tu as bien compris ma question, mais pour être parfaitement clair :

en php :

$tableau = 'tadaaa';
$nom = 'tableau';

echo $$nom;      ->  renvoie 'tadaaa'
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
32
ça fonctionne parfaitement ( IE, FF, Opera, Safari, K-Meleon ... )
var tableau = 'tadaaa';
var nom = 'tableau';
alert ( window[nom] );
<hr />


Cordialement                Bul     [mon Site]     [M'écrire]



<hr />
Messages postés
1980
Date d'inscription
dimanche 20 février 2005
Statut
Membre
Dernière intervention
24 septembre 2012
5
Tiens ?? Moi ça ne marche ni sous IE ni FF, j'ai essayé de placer les trois lignes aussi bien à l'intérieur d'une fonction (ce dont j'ai besoin) que dans le window.onload, dans les deux cas ça me donne undefined.
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
32
il reste bien sûr eval... mais je n'aime pas trop.
pas simple la "syntaxe" pour une variable locale !
si tu trouves...

<script type="text/javascript">
function ex()
{    var tableau = 'tadaaa';
     var nom = 'tableau';
     return ( eval(nom) );
}
alert(ex());
</script>

<hr />


Cordialement                Bul     [mon Site]     [M'écrire]



<hr />
Messages postés
1980
Date d'inscription
dimanche 20 février 2005
Statut
Membre
Dernière intervention
24 septembre 2012
5
Je ne m'en sors pas ! En dehors des fonctions ça va, mais sinon il s'emmêle les pinceaux, j'ai l'impression qu'avec window il me transforme des chaines en tableau... bon, comme ça commence à me donner mal à la tête; je vais en rester à un simple switch !

En tout cas merci beaucoup Bultez !