IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

Syntaxe - Déclaration de Variables


Sujet :

JavaScript

  1. #1
    Membre habitué Avatar de Aquellito
    Développeur informatique
    Inscrit en
    Juin 2008
    Messages
    337
    Détails du profil
    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2008
    Messages : 337
    Points : 150
    Points
    150
    Par défaut Syntaxe - Déclaration de Variables
    Bonjour à tous,

    Petite question qui me taraude depuis un moment.

    Il est possible de déclarer plusieurs variables sur une même ligne. Ok mais comment leurs allouer la même valeur.

    En effet si je déclare mes variables comme ceci, seule la dernière variable déclarée prend la valeur test. La première est Undefined.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var variable_1, variable_2 = "test";
    Y-a t'il une syntaxe qui permette de le faire ?

    Merci.

  2. #2
    Expert éminent sénior

    Avatar de vermine
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    6 582
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2008
    Messages : 6 582
    Points : 79 912
    Points
    79 912
    Par défaut
    Bonjour,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var variable_1 = variable_2 = "test";

  3. #3
    Membre habitué Avatar de Aquellito
    Développeur informatique
    Inscrit en
    Juin 2008
    Messages
    337
    Détails du profil
    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2008
    Messages : 337
    Points : 150
    Points
    150
    Par défaut
    Ok, ça me va pour la déclaration !

    Merci

    Par contre je ne vais pas pouvoir arriver là où je voulais en venir.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    var variable_1 = variable_2 = variable_3 = "Ceci est une couleur ";
     
    variable_1 += "rouge";
    variable_2 += "verte"; 
    variable_3 += "bleue"; 
     
    variable_1, variable_2, variable_3 += " foncée";
    Je vais donc bien être obligé de faire ceci pour que variable_2 et variable_3 soient "foncées" :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    var variable_1 = variable_2 = variable_3 = "Ceci est une couleur ";
     
    variable_1 += "rouge";
    variable_2 += "verte";
    variable_3 += "bleue";
     
    variable_1 += " foncée";
    variable_2 += " foncée";
    variable_3 += " foncée";
    C'est quand même dommage d'avoir une ligne à chaque fois juste pour incrémenter "foncée" à la fin de la chaîne.

  4. #4
    Membre actif
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    128
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 128
    Points : 210
    Points
    210
    Par défaut
    Non vermine, tu n'as pas déclaré variable_2, et donc tu as créé une propriétée de l'objet global.

    La preuve par l'exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    var test2 = 21;
    console.log(test2);
     
    (function(){
     
        var test1 = test2 = 42;
        console.log(test1, test2);
    })();
     
    console.log(test2);
    Retourne :
    21
    42, 42
    42



    Il faut déclarer dans une première expression, puis attribuer une valeur dans une seconde;

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    var test2 = 21;
    console.log(test2);
     
    (function(){
     
        var test1, test2 = test1 = 42;
        console.log(test1, test2);
    })();
     
    console.log(test2);
    Retourne :

    21
    42, 42
    21

  5. #5
    Expert éminent sénior

    Avatar de vermine
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    6 582
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2008
    Messages : 6 582
    Points : 79 912
    Points
    79 912
    Par défaut
    Effectivement TheGwy.

    Ce qui n'arrange pas Aquellito qui va se retrouver avec ce genre d'instruction :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var variable_1, variable_2, variable_3 = variable_2 = variable_1 = "Ceci est une couleur ";
    Ca donne peut-être mieux ainsi :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    var variable_1, variable_2, variable_3;
    variable_1 = variable_2 = variable_3 = "Ceci est une couleur ";
    Quant à la concaténation, pour l'instant je ne vois pas trop de solution à part boucler en jouant sur le nom des variables ou de regarder du côté des Frameworks.

  6. #6
    Membre habitué Avatar de Aquellito
    Développeur informatique
    Inscrit en
    Juin 2008
    Messages
    337
    Détails du profil
    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2008
    Messages : 337
    Points : 150
    Points
    150
    Par défaut
    Ok je suis un peu déçu par Javascript sur ce coup là lol, mais bon je retiens la méthode ci-dessous :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    var variable_1, variable_2, variable_3;
    variable_1 = variable_2 = variable_3 = "Ceci est une couleur ";
     
    variable_1 += "rouge";
    variable_2 += "verte";
    variable_3 += "bleue";
     
    variable_1 += " foncée";
    variable_2 += " foncée";
    variable_3 += " foncée";
    Merci à tous pour votre aide.

  7. #7
    Inactif  

    Profil pro
    Inscrit en
    Mai 2010
    Messages
    345
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 345
    Points : 496
    Points
    496
    Par défaut
    Ben au lieu d'être déçu tu utilises un tableau comme on fait dans ces cas là :o
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    var colors = ["rouge", "verte", "bleue"].map(function(color){
        return "Ceci est une couleur {0} foncée".replace("{0}", color);
    });
    Solution 2
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    var colors = "rouge|verte|bleue".replace(/(\w+)/g,function(a,b){
        return "Ceci est une couleur "+ a + " foncée";
    }).split('|');

  8. #8
    Expert éminent sénior

    Avatar de vermine
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    6 582
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2008
    Messages : 6 582
    Points : 79 912
    Points
    79 912
    Par défaut
    Oui dukej, mais je ne suis pas sûr que le mot "foncé" doivent apparaitre systématiquement et que le but est peut-être d'avoir une certaine souplesse à ce niveau.

  9. #9
    Membre habitué Avatar de Aquellito
    Développeur informatique
    Inscrit en
    Juin 2008
    Messages
    337
    Détails du profil
    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2008
    Messages : 337
    Points : 150
    Points
    150
    Par défaut
    Je sais je suis un peu débile mais c'est quand même légèrement moins intuitif que la méthode du dessus et je ne comprends pas tout. Toujours est-il que je vais décortiqué ça (avec mon tout petit niveau en javascript lol). Il faut bien progresser dans la vie !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Syntaxe] Déclaration de variable, petite question
    Par keaton7 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 28/01/2012, 11h12
  2. déclaration de variables de 16, 32 et 128 bits
    Par samipate dans le forum C++
    Réponses: 10
    Dernier message: 30/12/2004, 22h33
  3. [FLASH MX2004] Déclaration de variables sous flash mx
    Par softyClochette dans le forum Flash
    Réponses: 4
    Dernier message: 29/11/2004, 16h11
  4. [debutant][Portée] Déclaration de variable .....
    Par Slein dans le forum Langage
    Réponses: 4
    Dernier message: 07/05/2004, 10h43
  5. [syntaxe] Gerer les variables dans une requete
    Par rastapopulos dans le forum MS SQL Server
    Réponses: 12
    Dernier message: 15/04/2003, 12h53

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo