Heim > Web-Frontend > js-Tutorial > Wie kann ich eine JavaScript-Funktion aufrufen, indem ich ihren als String gespeicherten Namen verwende?

Wie kann ich eine JavaScript-Funktion aufrufen, indem ich ihren als String gespeicherten Namen verwende?

Mary-Kate Olsen
Freigeben: 2024-12-26 04:03:09
Original
466 Leute haben es durchsucht

How Can I Call a JavaScript Function Using Its Name Stored as a String?

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);
Nach dem Login kopieren

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);
Nach dem Login kopieren

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);
}
Nach dem Login kopieren

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);
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage