Aufrufen einer JavaScript-Funktion anhand des in einer Zeichenfolge gespeicherten Namens
In bestimmten Szenarien kann es vorkommen, dass Sie den Funktionsnamen als besitzen eine Zeichenfolge und müssen diese ausführen. Um dies zu erreichen, befolgen Sie diese Schritte:
Methode 1: Für flache Funktionen
Für Funktionen, die nicht Teil eines Namespace sind, verwenden Sie die folgende Syntax:
window["functionName"](arguments);
Methode 2: Für Namespace-Funktionen
Für Für Funktionen innerhalb von Namespaces ist die folgende Syntax erforderlich:
var namespaces = functionName.split("."); var func = namespaces.pop(); for (var i = 0; i < namespaces.length; i++) { context = context[namespaces[i]]; } context[func].apply(context, args);
Methode 3: Verwenden einer Komfortfunktion
Um den Vorgang zu vereinfachen, können Sie die folgende Komfortfunktion verwenden :
function executeFunctionByName(functionName, context /*, args */) { var args = Array.prototype.slice.call(arguments, 2); var namespaces = functionName.split("."); var func = namespaces.pop(); for(var i = 0; i < namespaces.length; i++) { context = context[namespaces[i]]; } return context[func].apply(context, args); }
Anruf Funktion
Um die Funktion mit einer der Methoden aufzurufen, geben Sie den Funktionsnamen und den Kontext wie unten gezeigt an:
executeFunctionByName("My.Namespace.functionName", window, arguments);
Das obige ist der detaillierte Inhalt vonWie kann ich eine JavaScript-Funktion aufrufen, indem ich ihren als String gespeicherten Namen verwende?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!