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 :

POO Appel dynamique à une méthode d'un objet


Sujet :

JavaScript

  1. #1
    Membre confirmé Avatar de thecanea
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    131
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Côte d'Or (Bourgogne)

    Informations forums :
    Inscription : Octobre 2008
    Messages : 131
    Par défaut POO Appel dynamique à une méthode d'un objet
    Bonjour à tous,

    Je souhaite appeler une méthode en lui passant deux paramètres, le premier un objet, le second une méthode à appeler sur cet objet.
    Je n'arrive pas à lancer l'appel à la méthode.

    Voici ma classe
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    function MyClasse(pName) {
      this._name = pName;
    }
    MyClasse.prototype = {
      eventA: function() {
        //do sthg
        this._name = 'eventA ' + this._name;
      },
     
      eventB: function() {
        //do sthg else
      }
    }
    Voici ma fonction :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    function test(pObject, pFn) {
      // do sthg
       pObject.pFn();   
    }
    Et ce que je souhaite faire :
    j'ai un objet instancié de ma classe, et je souhaite appeler :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    test(monObjet, 'eventA');
    Or ce code ne fonctionne pas, firebug m'indique que pFn is not a function.

    Comment faire pour appeler dynamiquement la méthode souhaité sur mon objet donné ?

    ps : le passage de l'objet fonctionne bien car le code pObjet.eventA(); fonctionne très bien.

    Merci par avance pour vos idées,

    Thec

  2. #2
    Membre Expert Avatar de Willpower
    Homme Profil pro
    sans emploi
    Inscrit en
    Décembre 2010
    Messages
    1 009
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : sans emploi

    Informations forums :
    Inscription : Décembre 2010
    Messages : 1 009
    Par défaut
    si "monObjet" est bien une instance de "MyClass" alors

    Code js : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    function test(pObject, pFn) {
      // do sthg
       pObject[pFn]();   
    }

  3. #3
    Membre Expert Avatar de Willpower
    Homme Profil pro
    sans emploi
    Inscrit en
    Décembre 2010
    Messages
    1 009
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : sans emploi

    Informations forums :
    Inscription : Décembre 2010
    Messages : 1 009
    Par défaut
    Citation Envoyé par thecanea Voir le message
    Bonjour à tous,

    Je souhaite appeler une méthode en lui passant deux paramètres, le premier un objet, le second le nom d'une méthode à appeler sur cet objet.
    Je n'arrive pas à lancer l'appel à la méthode.
    et soit toujours précis dans tes questions, parce qu'il est également possible de passer des méthodes en paramètre en javascript.

  4. #4
    Membre confirmé Avatar de thecanea
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    131
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Côte d'Or (Bourgogne)

    Informations forums :
    Inscription : Octobre 2008
    Messages : 131
    Par défaut
    Parfait, c'est résolu pour moi.

    Merci beaucoup pour la réponse, et je tiendrai compte de ta remarque pour la précision dans mes questions.

    Encore merci,

    Thec

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

Discussions similaires

  1. [POO] Appel d'une fonction d'un objet
    Par dragonfly dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 02/12/2009, 13h49
  2. Réponses: 3
    Dernier message: 29/04/2008, 14h14
  3. [POO] appel d'une méthode d'un autre fichier, le tout objet
    Par aaaaaaaa dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 13/07/2007, 18h43
  4. Réponses: 2
    Dernier message: 20/06/2007, 12h12
  5. Réponses: 2
    Dernier message: 26/01/2007, 10h50

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