Variable qui appelle une fonction [Résolu]

Signaler
Messages postés
1127
Date d'inscription
mardi 8 janvier 2002
Statut
Modérateur
Dernière intervention
21 avril 2009
-
Messages postés
1127
Date d'inscription
mardi 8 janvier 2002
Statut
Modérateur
Dernière intervention
21 avril 2009
-
Bonjour à tous :)
Voila, je suis confronté à un petit probleme.

je suis dans une classe, j'ai une fonction

function myClass () {
    this.myFunc = function () {
        alert ("youpi :)");
    }

    this.call = function (calledFunc) {
          this.calledFunc ();
    }
}

et j'aimerai faire
myC = new myClass ();
myC.call ("myFunc");

pour que ca m'affiche Youpi :) en alert

Bien sur, cela ne marche pas :p, mais comment faire ?

j'ai tenté de faire
myC = new myClass ();

myC.call (myC.myFunc);

et

myC.call (myClass.myFunc);

Mais rien ne marche :/

Une idée ?

2 réponses

Messages postés
1127
Date d'inscription
mardi 8 janvier 2002
Statut
Modérateur
Dernière intervention
21 avril 2009
1
Bon en fait j'ai trouvé la solution :p

Il suffisait de mettre une variable spécifique à la classe

var tmpCalling = calledFunc;
et ensuite d'appeler tmpCalling, et c'est bon ! :)
Messages postés
1127
Date d'inscription
mardi 8 janvier 2002
Statut
Modérateur
Dernière intervention
21 avril 2009
1
Oups, petite modification, la méthode

myC = new myClass ();
myC.call (myC.myFunc);

marche,
mais en fait dans la fonction call, j'utilise un XMLHttpRequest, et c'est DANS le httpRequest que j'appel la fonction :/

Et du coup ca marche plus (probleme de scopage ?)