Ja, Sie können es tun. Wenn Sie den Funktionsnamen aus der Texteingabe übergeben können, holen Sie ihn in JavaScript und Sie können diese Funktion dort ausführen. Aber Sie müssen diese Funktion auf globaler Ebene speichern, um von überall darauf zugreifen zu können. Entweder in einem var oder können Sie var _this = this;
hinzufügen und rufen Sie die Methoden auf _this
Zum Beispiel:
_this.foo = function() {
console.log('bar');
}
Eingabe foo
in Texteingabe und bekommen dies in JavaScript, können Sie überprüfen, ob diese Funktion vorhanden ist.
So:
function handleClick(functionName) {
var func = _this[functionName];
if (func && typeof func === 'function') {
func();
}
}
Dies wird prüfen, ob es eine Funktion mit dem Namen ist vergangen existiert und wenn es eine Funktion oder nicht. Und wenn es eine Funktion ist, wird es sie aufrufen.
Hier ist ein working demo vorgeschlagen von NewToJS.
Wenn Sie den Client zur Eingabe von 'calc()' ermöglichen wollen Führe den Fu aus nction statt nur 'calc' ohne'() 'dann könnte diese [** JsFiddle **] (https://jsfiddle.net/Lug8ns91/), die ich erstellt habe, von Nutzen sein. – NewToJS