tutorials.de Buch-Aktion 05/2012
ERLEDIGT
JA
ANTWORTEN
4
ZUGRIFFE
139
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    marcel_m marcel_m ist offline Mitglied Silber
    Registriert seit
    Jul 2006
    Beiträge
    80
    Hallo zusammen,

    eine etwas -komische- Frage:
    Ist es möglich, einer JS-Methode einen String mitzugeben, der in der aufgerufenen Methode später eine Methode aufruft, deren Namen dem Inhalt des Strings entspricht?

    Beispiel:

    Code :
    1
    
    meineLieblingsMethode('alert');

    Wie müsste das in der Methode Aussehen, damit Methodenname(), also in diesem Fall alert() aufgerufen wird?

    Das Ganze gibt's ja beispielsweise auch von Haus aus bei JS hinsichtlich Ajax beim statehandler....

    Vielen Dank im Voraus und viele Grüße

    Marcel
     

  2. #2
    Avatar von Sven Mintel
    Sven Mintel Sven Mintel ist offline Mitglied
    Registriert seit
    Aug 2003
    Beiträge
    18.238
    Blog-Einträge
    6
    Moin Marcel,

    meinst du so:?
    Code javascript:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    
    methode=function(arg)
    {
      this._alert=function()
      {
        alert('moin moin');
      }
      this._prompt=function()
      {
        prompt('moin moin','gib was ein');
      }
     
      this['_'+arg]()
     
    }
    methode('alert');
    methode('prompt');

    (beachte dabei den Unterstrich vor den eigenen Methodennamen, damit sollen Probleme zwischen JS-internen Methodennamen und eigenen Methodennamen verhindert werden )

    Der Aufruf der Methoden erfolgt hierdurch:
    Code :
    1
    
    this['_'+arg]()
     

  3. #3
    marcel_m marcel_m ist offline Mitglied Silber
    Registriert seit
    Jul 2006
    Beiträge
    80
    Hallo Sven,

    vielen Dank für deine Antwort

    Es ist nicht ganz das, was ich suche - geht aber auf jeden Fall in die Richung. Die von dir geschriebene Methode greift auf bereits vordefinierte Methoden zurück - was ich bräcuhte, wäre etwas allgemein gehaltenes.

    Trotzdem aber nochmal vielen Dank für die prompte Antwort.

    Grüße

    Marcel
     

  4. #4
    Avatar von Sven Mintel
    Sven Mintel Sven Mintel ist offline Mitglied
    Registriert seit
    Aug 2003
    Beiträge
    18.238
    Blog-Einträge
    6
    Naja...eine nicht existente Funktion lässt sich schlecht aufrufen

    Meinst du eher so:?
    Code :
    1
    2
    3
    4
    5
    6
    
    methode=function(fn,param)
    {
      window[fn](param)
    }
    methode('alert','moin');
    methode('prompt','moin moin');

    ist im Endeffekt dasselbe, denn beide Methoden sind bekannt.
     

  5. #5
    marcel_m marcel_m ist offline Mitglied Silber
    Registriert seit
    Jul 2006
    Beiträge
    80
    Hallo Sven,

    da stimm ich dir natürlich zu Soll aber für ne "Toolbox" zum einbinden sein und daher recht flexibel.
    Und:
    ES FUNKTIONIERT

    Danke!
    Ich schließ dann das Topic

    Grüße

    Marcel
     

Ähnliche Themen

  1. Antworten: 3
    Letzter Beitrag: 21.08.10, 14:30
  2. "anonyme Methode" kann nicht in den Delegattyp "System.Action<int>"konvertiert werden
    Von LL0rd im Forum .NET Application und Service Design
    Antworten: 2
    Letzter Beitrag: 30.01.08, 12:58
  3. Antworten: 1
    Letzter Beitrag: 14.07.07, 11:42
  4. [Compiler Error C2392] "Methode": Covariant-Rückgabetypen...?
    Von pajofego im Forum VisualStudio & MFC
    Antworten: 0
    Letzter Beitrag: 24.02.04, 12:00
  5. Antworten: 13
    Letzter Beitrag: 28.08.03, 10:36