Ich habe eher eine scheinbar triviale Frage, aber bin nicht in der Lage, einen effizienten Ansatz zu finden.Dynamisch Funktion in Javascript aufrufen
ich eine Liste von etwa 50 Funktionen genannt werden wie zum Beispiel:
globalClient.funcA(...)
globalClient.funcB(...)
globalClient.funcC(...)
Mein Code sollte idealerweise dynamisch den Namen der Funktion (funcA/funcB/funcC erstellen und dann gehen, um tatsächlich diese Funktion aufrufen . Mein Ansatz funktioniert unten nicht (bitte beachten sie, dass diese die tatsächlichen Namen der Funktionen nicht genau sind ich diese willkürlichen Namen der Einfachheit des Verständnisses nur geben.):
var functionName = 'func'.concat('A');
globalClient.functionName
Die zweite Zeile ist, wo es Fehler out. Jetzt JS denkt, dass functionName
selbst ist der Name der Funktion. Ich möchte, dass es functionName
zu funcA
auflöst und dann globalClient.funcA (...) aufruft.
Ich habe darüber nachgedacht, einen Schalter/Fall dafür zu implementieren, aber ich bin sicher, dass es eine viel einfachere appraoch ist. Irgendwelche Ideen?
Verwenden Klammer-Notation 'globalClient [ "Func" + "B"]()' – Satpal
Dies ist ein dup von vielen, vielen anderen Antworten. – jfriend00
werfen Sie einen Blick auf diese http://stackoverflow.com/questions/359788/how-to-execute-a-jacascript-function-when-i-have-its-name-as-a-string. Ich hoffe, das ist, was Sie suchen – gkb