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 :

débutant : fonction/variable globale


Sujet :

JavaScript

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 3
    Par défaut débutant : fonction/variable globale
    Bonjour,
    je suis totalement débutant en javascript, et apparemment, j'ai pas dû bien comprendre les variables globales :
    Dans l'exemple suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    <html>
    <head>
      <script language="javascript">
        var ma_variable="pas OK";
        function Init()
        {
          ma_variable="OK";
        }
      </script>
    </head>
     
    <body onload="Init();">
      <script language="javascript">
        document.write(ma_variable);
      </script>
    </body>
    </html>
    Pourquoi ça affiche la valeur "pas OK"?
    Est-ce que la fonction n'est pas exécutée (pourquoi)?, ou alors je ne modifie pas la valeur de la variable prévue?

  2. #2
    Membre chevronné Avatar de htr999
    Profil pro
    Étudiant
    Inscrit en
    Février 2008
    Messages
    331
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2008
    Messages : 331
    Par défaut
    essaie ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    <html>
    <head>
      <script language="javascript">
        ma_variable="pas OK";
        function Init()
        {
          ma_variable="OK";
        }
    	Init();
    	document.write(ma_variable);
      </script>
    </head>
     
    <body onload="Init();">
      <script language="javascript">
        document.write(ma_variable);
      </script>
    </body>
    </html>
    je dirais que ton document.write dans body est exécuté avant que la fonction Init() ne soit appelée...

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 3
    Par défaut
    En effet, ca marche avec le code suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
     
    <html>
    <head>
      <script language="javascript">
        var ma_variable="pas OK";
     
        function Init()
        {
          ma_variable="OK";
        }
      </script>
    </head>
     
    <body>
      <script language="javascript">
        Init();
        document.write(ma_variable);
      </script>
    </body>
    </html>
    Ce qui veut bien dire que la fonction n'était pas executée (en tout cas pas avant l'instruction document.write).

    Mais dans ce cas, à quoi ça sert de mettre <body onLoad="Init()";> si c'est effectué après le chargement de la page?

  4. #4
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 3
    Par défaut
    OK, j'ai compris : on peut aussi utiliser onload="Init();" mais dans ce cas, il faut mettre document.write(ma_variable) dans la fonction Init();

    Merci de ta réponse.

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

Discussions similaires

  1. [Débutant] Variables globales pour les fonctions d'un module
    Par guillooom dans le forum Général Python
    Réponses: 6
    Dernier message: 25/03/2011, 15h25
  2. [Débutant C#]Variable Globale pour deux forms
    Par progfou dans le forum C#
    Réponses: 7
    Dernier message: 20/02/2007, 09h08
  3. Variable Globale dans une fonction
    Par rekiem71 dans le forum Général JavaScript
    Réponses: 16
    Dernier message: 18/01/2007, 17h12
  4. [Débutant]Fonction à arguments variables
    Par Jahjouh dans le forum C++
    Réponses: 5
    Dernier message: 14/09/2006, 23h21
  5. Variables globales dans une fonction?
    Par Death83 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 26/07/2006, 01h53

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