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
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    89
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 89
    Points : 37
    Points
    37
    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 émérite
    Inscrit en
    Septembre 2002
    Messages
    2 307
    Détails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 2 307
    Points : 2 814
    Points
    2 814
    Par défaut
    window.data=data
    ?

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

    Informations forums :
    Inscription : Mars 2007
    Messages : 257
    Points : 215
    Points
    215
    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 actif Avatar de hellspawn_ludo
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    257
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 257
    Points : 215
    Points
    215
    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
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    89
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 89
    Points : 37
    Points
    37
    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 averti
    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
    Points : 350
    Points
    350
    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 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    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 640
    Points : 66 663
    Points
    66 663
    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)

  8. #8
    Membre averti Avatar de marts
    Inscrit en
    Février 2008
    Messages
    233
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 233
    Points : 425
    Points
    425
    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