Variable qui appelle une fonction

Résolu
codefalse Messages postés 1123 Date d'inscription mardi 8 janvier 2002 Statut Modérateur Dernière intervention 21 avril 2009 - 7 févr. 2008 à 16:54
codefalse Messages postés 1123 Date d'inscription mardi 8 janvier 2002 Statut Modérateur Dernière intervention 21 avril 2009 - 7 févr. 2008 à 17:00
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

codefalse Messages postés 1123 Date d'inscription mardi 8 janvier 2002 Statut Modérateur Dernière intervention 21 avril 2009 1
7 févr. 2008 à 17:00
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 ! :)
3
codefalse Messages postés 1123 Date d'inscription mardi 8 janvier 2002 Statut Modérateur Dernière intervention 21 avril 2009 1
7 févr. 2008 à 16:57
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 ?)
0
Rejoignez-nous