ERLEDIGT
JA
JA
ANTWORTEN
4
4
ZUGRIFFE
139
139
EMPFEHLEN
-
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
-
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]()
-
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
-
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.
-
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
-
[OOP] Methode "test" kann nicht erstellt werden, da Konstruktor finit ist
Von einfach nur crack im Forum PHPAntworten: 3Letzter Beitrag: 21.08.10, 14:30 -
"anonyme Methode" kann nicht in den Delegattyp "System.Action<int>"konvertiert werden
Von LL0rd im Forum .NET Application und Service DesignAntworten: 2Letzter Beitrag: 30.01.08, 12:58 -
Frage zu "flexible-gallerie-mit-blaetterfunktion"
Von rmb74 im Forum PHPAntworten: 1Letzter Beitrag: 14.07.07, 11:42 -
[Compiler Error C2392] "Methode": Covariant-Rückgabetypen...?
Von pajofego im Forum VisualStudio & MFCAntworten: 0Letzter Beitrag: 24.02.04, 12:00 -
Wert einer Methode ..onClick="xy();" aus Function ändern.
Von tuxx im Forum Javascript & AjaxAntworten: 13Letzter Beitrag: 28.08.03, 10:36





Zitieren
Login





