Partage
  • Partager sur Facebook
  • Partager sur Twitter

[javascript] variable de variable

comme en php => comment faire

    22 mai 2006 à 18:21:40

    bonjour,

    est-ce-que qqun sait comment faire des variables de variables en javascript (comme en php)

    par exemple,


    var test = 'gras';

    if ( etat_{test} == 0)
            {
            ...
            }


    mais le code si dessus ne marche pas.
    j'ai un peu cherché, mais je n'ai rien trouvé comme solution.
    si qqu sait...

    merci
    • Partager sur Facebook
    • Partager sur Twitter
      22 mai 2006 à 18:36:48

      if (etat_+test == 0)

      c'est sûrement du gros n'importe quoi mais tu peux quand même essayer ! :p
      • Partager sur Facebook
      • Partager sur Twitter
        22 mai 2006 à 18:47:15

        j'ai essayé:
        c'est du gros n'importe quoi ;)
        • Partager sur Facebook
        • Partager sur Twitter
          22 mai 2006 à 18:49:22

          c'est bien ce qui me semblait, mais comme je n'aime pas trop le javascript de toute façon, je pense que c'est impossible de faire ça, parce que le javascript c'est pas un language assez performant ! :p
          • Partager sur Facebook
          • Partager sur Twitter
          Anonyme
            22 mai 2006 à 19:21:38

            ouais enfin quand t'aurra fait un peu de javascript tu pourra donner ton avis ...

            y'a pas les variables de variables en js, ca m'aurait ete utile un moment ... faut faire en sorte de pas en avoir besoin ;)
            • Partager sur Facebook
            • Partager sur Twitter
              22 mai 2006 à 20:56:52

              En même temps, avec des variables de variables, un script devient rapidement bordelique !
              • Partager sur Facebook
              • Partager sur Twitter
              Anonyme
                24 mai 2006 à 3:56:18

                en fait j'ai dit une connerie c'est possible, c'est juste qu'il faut bien comprendre le js...

                bon vite fait c'est un langage objet deja.
                var objet = {
                    f_un: function ()
                    {
                        alert('un');
                    },   
                    f_deux: function ()
                    {
                        alert('deux');
                    }
                }

                et hop on a un objet possedant 2 methodes

                pour appeler une methode on fait en general
                objet.f_un();
                // ou
                objet.f_deux();

                mais l'astuce c'est que l'on peut le faire aussi comme ca :)
                objet["f_un"]();

                et donc a partir de la vu que c'est une chaine de caractere on peut tres bien la concatené
                var numero = "un";
                objet["f_"+numero]();

                et hop !
                bien sur ca marche aussi pour des variables, y'a juste a enlever les () et on a la valeur de la variable :D

                bon la c'est super on a un moyen de faire ca pour un objet, mais si on veut pas cree d'objet ? genre on a ca :
                var i = "toto";
                function mickey()
                {
                    alert("huhu mickey l'est pd");// juste pour la rime hein ...
                }
                function toto()
                {
                    alert("vous connaissez la derniere de toto ?");
                }

                bon la on a pas d'objet et jamais ca ca marche:
                [i]();

                hé bien f43r n0 m0r3 li771e one puisque si on lit bien les bases de javascript toutes les fonctions et variables sont des methodes et param de l'objet window (qui peut etre utiliser pour appeler une fonction du genre window.mickey(); est ici tout a fait valable :D )

                bon bref tout ca pour dire que pour appeler la fonction dont le nom est contenu dans totoil suffit de faire :
                window[toto]();

                et hop !

                qui a dit que javascript c'etait pour les tcho' biloutte?


                ( edit )
                bon un petit exemple quand meme pour montrer que ca marche :) (pas tester sous ie par contre mais y'a pas de raisons que ca foire ^^
                <html>
                <head>
                    <title>javascript l33T</title>
                    <script>
                    window.onload = init;
                   
                   
                    function init() {
                        var f = 'deux';
                       
                        alert(this);
                       
                        window["john_"+f]();
                        alert(window["fyon"]);
                       
                    }
                   
                   
                    var john_un = function ()
                    {
                        alert('un');
                    }
                    var john_deux = function()
                    {
                        alert('deux');
                    }
                    var fyon= "mickey";
                   
                    </script>
                </head>

                <body>
                    <div id="un"></div>
                </body>


                bon la encore on aurait pu utiliser this au lieu de window dans init parceque init est attaché a window.onload et devinez quoi ? this represente l'objet window enfin bref, je vais m'arreter la :-°
                • Partager sur Facebook
                • Partager sur Twitter

                [javascript] variable de variable

                × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                • Editeur
                • Markdown