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 :

Passer une variable d'une fonction � une autre?


Sujet :

JavaScript

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre confirm�
    Inscrit en
    Septembre 2010
    Messages
    128
    D�tails du profil
    Informations forums :
    Inscription : Septembre 2010
    Messages : 128
    Par d�faut Passer une variable d'une fonction � une autre?
    Bonjour,

    Je ne comprend pas le principe pour faire transiter une variable depuis une fonction vers une autre fonction...

    Par exemple :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    function go(){
    var texte = encodeURIComponent(document.getElementById("textarea").value);
    var message = document.getElementById("mondiv1").innerHTML;
    if(texte == ''){
    alert("Champ vide!");
    }
    else{
    document.getElementById("mondiv1").innerHTML=decodeURIComponent(texte);
    setTimeout("sup()", 3000); 
    }
     
    function sup(){
    document.getElementById("mondiv1").innerHTML=message;
    }
    Comment r�cup�rer la variable "message" pour l'ex�cuter dans la seconde fonction?

    Je pensais qu'en faisant :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    setTimeout("sup(message)", 3000);
    ..�a allait fonctionner mais non!

    Du coup j'ai ajout� :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    function sup(mavariable){
    ...idem, rat� une fois de plus!

    Bref, je ne comprend pas alors si quelqu'un pouvait m�expliquer �a serait sympa .

    Merci

  2. #2
    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 659
    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 659
    Billets dans le blog
    1
    Par d�faut
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    setTimeout(function(){sup(message)}, 3000);
    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 !

  3. #3
    R�dacteur

    Avatar de Bovino
    Homme Profil pro
    D�veloppeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 55
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activit� : D�veloppeur Web
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par d�faut
    Au passage, une raison suppl�mentaire d'�viter � tout prix de passer une chaine de caract�res comme premier param�tre de setTimeout().Lorsque tu �cris
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    setTimeout("sup(message)", 3000);
    la chaine sera �valu�e au moment de son ex�cution, c'est-�-dire apr�s les trois secondes et surtout apr�s la fin de l'ex�cution de la fonction appelante. La fonction go() ayant fini son ex�cution et son scope n'�tant plus utile (puisque "sup(message)" n'a pas encore �t� �valu�), il est donc supprim� via le garbage collector et message n'existe plus.
    Dans la version de Spaffy
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    setTimeout(function(){sup(message)}, 3000);
    la fonction anonyme est pr�sente d�s sa d�claration et indique qu'elle aura besoin de la variable message, le garbage collector ne supprimera cette r�f�rence que lorsqu'elle aura �t� utilis�e, donc la variable existe encore � l'ex�cution de sup().
    Pas de question technique par MP !
    Tout le monde peut participer � developpez.com, vous avez une id�e, contactez-moi !
    Mes formations video2brain : La formation compl�te sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'int�gration de JSFiddle et CodePen sur le forum

  4. #4
    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 659
    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 659
    Billets dans le blog
    1
    Par d�faut
    accessoirement certains navigateurs autoriseraient un troisi�me param�tre pour le setInterval qui repr�sente les arguments � passer � la fonction
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    setInterval("stringfonction", delay, params)
    Mais je n'ai JAMAIS r�ussi � l'impl�menter
    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 !

  5. #5
    R�dacteur

    Avatar de Bovino
    Homme Profil pro
    D�veloppeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 55
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activit� : D�veloppeur Web
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par d�faut
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    var foo = 'Hello Spaffy !';
    function affiche(txt){
        alert(txt);
    }
    setTimeout(affiche, 1000, foo);
    Pas de question technique par MP !
    Tout le monde peut participer � developpez.com, vous avez une id�e, contactez-moi !
    Mes formations video2brain : La formation compl�te sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'int�gration de JSFiddle et CodePen sur le forum

  6. #6
    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 659
    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 659
    Billets dans le blog
    1
    Par d�faut
    undefined sous IE
    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 !

  7. #7
    Membre confirm�
    Inscrit en
    Septembre 2010
    Messages
    128
    D�tails du profil
    Informations forums :
    Inscription : Septembre 2010
    Messages : 128
    Par d�faut
    Je n'�tais pas pr�s de trouver la solution seul ... merci � vous .

    J'en profite pour poser une autre question ... la fonction est dit anonyme parce qu'elle ne porte pas de "nom" ou y a t'il une autre raison?

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. Contenu d'une variable devenant lui m�me une variable
    Par Copyright83 dans le forum Servlets/JSP
    R�ponses: 4
    Dernier message: 14/11/2012, 17h24
  2. R�ponses: 1
    Dernier message: 26/12/2010, 21h20
  3. [Smarty] R�cuper une variable php � partir d'une variable Smarty
    Par SPKlls dans le forum Biblioth�ques et frameworks
    R�ponses: 1
    Dernier message: 23/04/2008, 17h40
  4. [Free Pascal] [2.2] Impossible d'assigner une variable de type T � une variable de type T
    Par Hibou57 dans le forum Free Pascal
    R�ponses: 3
    Dernier message: 12/10/2007, 12h31
  5. Passer une variable d'un IF � l'autre
    Par JeanMi66 dans le forum Langage
    R�ponses: 3
    Dernier message: 25/06/2007, 19h03

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