Passer une fonction en parametre et l'executer dans la fonction acceptant le par [Résolu]

Signaler
Messages postés
32
Date d'inscription
mardi 9 septembre 2003
Statut
Membre
Dernière intervention
27 avril 2010
-
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
-
Bonjour et merci de me lire.

Simple, j'ai une fonction et je souhaiterai passé en parametre une autre fonction, c'est à adire son "adresse" comme si je la pointé et l'utilisé.. en C, c possible, j'crois bien alors pourquoi pas en javascript..?

4 réponses

Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
32
Bonjour,

    il suffisait d'essayer... non ?

<script>
    function f0(prm)
    {    prm();    }
    function f1()
    {    alert("f1");    }
    function f2()
    {    alert("f2");    }
   
    f0(f1);
    f0(f2);
   
</script>

    d'autres syntaxes sont possibles....

<hr />                Cordialement            Bul         [mon Site]     [M'écrire]
Messages postés
32
Date d'inscription
mardi 9 septembre 2003
Statut
Membre
Dernière intervention
27 avril 2010

setTimeout('refresh_div2('+fonction+')', 250);
Messages postés
32
Date d'inscription
mardi 9 septembre 2003
Statut
Membre
Dernière intervention
27 avril 2010

Merci bien.
J'ai d'autre petit problème...
Voici un extrait de code :
 function refresh_div2(fonction)
{
    var xhr_object = null;
    if(window.XMLHttpRequest) // Firefox
       xhr_object = new XMLHttpRequest();
    else if(window.ActiveXObject) // Internet Explorer
       xhr_object = new ActiveXObject("Microsoft.XMLHTTP");
    else { // XMLHttpRequest non supporté par le navigateur
       alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest...");
       return;
    }
   
    xhr_object.open('GET','#', true);
    xhr_object.onreadystatechange = function()
    {
        if(xhr_object.readyState == 4)
        {   
            fonction();
        }
    };
    xhr_object.send(null);
    setTimeout('refresh_div2(fonction)', 250);
}
Le setTimeout() ne passe pas avec "fonction", y aurait-il une solution pour que ça passe?

Bultez, je souhaiterai que tu me proposes une solution avec un tableau de fonction, est-ce possible??

Peux-tu me montré quelques syntaxe ssur le passage d'une fonction en paramètre dans une fonction..?

Merci d'avance
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
32
>>Le setTimeout() ne passe pas avec "fonction"
        je préfère ( et je ne suis pas le seul ) :
            setTimeout( function() { refresh_div2(fonction); }, 250 );

>>un tableau de fonction, est-ce possible??
    tout est toujours possible.   parfois c'est pas simple, parfois ça vaut pa le coup...
    pour quel usage ?   pas trop compris "tableau de fonctions", dans quel but ?

>>Peux-tu me montré quelques syntaxes sur le passage d'une fonction en paramètre dans une fonction.
    celle-ci ne te convient pas ?   rechercher et/ou essayer, tu devrais trouver seul.

<hr />                Cordialement            Bul         [mon Site]     [M'écrire]