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 :

niveau de portée des variables


Sujet :

JavaScript

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    89
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 89
    Par défaut niveau de portée des variables
    Bonjour, j'ai un petit souci avec la librairie Jquery; mais c'est un problème de javascript général plutot qu'un véritable probleme lié à jQuery :

    Voilà j'ai ce code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    function InitMiniPlayers(data){
    			$.get("/ajx/players.php?t=getradio", function(data){ alert(data);}  );
     
    		}
    Je récupère bien dans mon alert le résultat de mon script php; le souci est que j'aimerai que la variable data puisse être accessible dans tout mon document.

    En flash j'aurai fait un : _root.data = data;

    Comment fais-t-on cela en Javascript ? en php il existe les variables globales. En mettant on peut "écrire" la variable à l'extérieur d'une fonction...

    Voilà donc j'espère avoir été clair sur la question; merci de vos réponses.

  2. #2
    Membre Expert
    Inscrit en
    Septembre 2002
    Messages
    2 307
    Détails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 2 307
    Par défaut
    window.data=data
    ?

  3. #3
    Membre éclairé Avatar de hellspawn_ludo
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    257
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 257
    Par défaut
    Bonjour,

    Tu déclares une variable à l'en-tête de ton javascript tout simplement.

    Exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    <script type="text/javascript">
     
    var UneVariable=5;
     
    function ModifValeur()
    {
        UneVariable=10;
    }
    </script>
    Après appel de la fonction, UneVariable aura toujours la valeur 10

  4. #4
    Membre éclairé Avatar de hellspawn_ludo
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    257
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 257
    Par défaut
    @Matthieu2000 : Si je ne me trompe, le window n'est pas obligatoire ?

    Et ce que j'ai écrit plus haut est aussi correct.

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    89
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 89
    Par défaut
    Vous avez bien compris mon problème, mais je n'ai pas assez bien expliqué, donc ca ne fonctionne pas.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    function InitMiniPlayers(data){
    			$.get("/ajx/players.php?t=getradio", function(data){ alert(data); }  );
     
    		}
    En fait, le résultat de la fonction $.get est une callback, il me semble. Donc je ne parviens pas à accéder au data de cette fonction callback en faisant en haut de mon script

    Une idée ?

  6. #6
    Membre expérimenté
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2007
    Messages
    340
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Transports

    Informations forums :
    Inscription : Février 2007
    Messages : 340
    Par défaut
    Tes bouts de code sont vraiment trop light... et je ne comprends pas ton problème. Normalement le fait de déclarer data auparavant doit résoudre ton problème. Par contre après il ne faut pas faire de "var data=..." dans tes fonctions sinon tu changeras de portée.

  7. #7
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 658
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 658
    Billets dans le blog
    1
    Par défaut
    le widow est obloigatoire pour globaliser la variable si celle ci est decalrée à l'intérieur d'une fonction

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    function foo(){
    window['variable']="coucou"
    }
     
    foo()
    alert(variable)
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  8. #8
    Membre expérimenté Avatar de marts
    Inscrit en
    Février 2008
    Messages
    233
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 233
    Par défaut
    Je dirais comme Matthieu2000 :

Discussions similaires

  1. Réponses: 8
    Dernier message: 17/02/2005, 09h05
  2. [FLASH MX] Portée des variables ???
    Par mic79 dans le forum Flash
    Réponses: 2
    Dernier message: 08/02/2005, 10h21
  3. Portée des variables vbscript vers ASP
    Par Immobilis dans le forum ASP
    Réponses: 3
    Dernier message: 03/11/2004, 10h14
  4. [XSL]Problème de portée des variables
    Par djulesp dans le forum XSL/XSLT/XPATH
    Réponses: 6
    Dernier message: 17/09/2004, 10h34
  5. [Portée] portée des variables
    Par parksto dans le forum Langage
    Réponses: 7
    Dernier message: 09/05/2004, 21h05

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