Heim > Web-Frontend > js-Tutorial > Hauptteil

Wie rufe ich mit JavaScript eine Funktion aus einem in einer Zeichenfolge gespeicherten Funktionsnamen auf?

王林
Freigeben: 2023-08-27 09:09:11
nach vorne
1089 Leute haben es durchsucht

如何使用 JavaScript 从存储在字符串中的函数名称调用函数?

Wir werden die Funktion eval() verwenden, um eine Funktion anhand ihres in einer Zeichenfolge gespeicherten Namens aufzurufen. Auswerten() Funktion wertet einen String in JavaScript-Code aus. Dadurch können wir die Funktion über aufrufen Übergeben Sie einen String mit seinem Namen als Argument an die Funktion eval().

Beispiel

Hier ist ein vollständiges Arbeitsbeispiel dafür, wie man mithilfe von JavaScript eine Funktion aus einem in einer Zeichenfolge gespeicherten Funktionsnamen aufruft –

// Define the function that we want to call
function sayHello() {
   console.log("Hello, world!");
}

// Store the function name as a string
let functionName = "sayHello";

// Use the `eval()` function to convert the string to a function call
eval(functionName + "()");
Nach dem Login kopieren
  • Im obigen Beispiel definieren wir zunächst eine einfache Funktion namens sayHello(), die lediglich „Hello, world!“ an die Konsole protokolliert. Als Nächstes definieren wir eine Variable namens functionName, die die Zeichenfolge „sayHello“ speichert, also den Namen der Funktion, die wir aufrufen möchten.

  • Schließlich verwenden wir die Funktion eval(), um den String functionName in einen Funktionsaufruf umzuwandeln, indem wir ihn mit den Klammern () verketten, die zum tatsächlichen Aufruf der Funktion erforderlich sind.

  • Die Funktion
  • eval() ist eine leistungsstarke, aber potenziell gefährliche Funktion von JavaScript, mit der Sie Zeichenfolgen genau wie JavaScript-Code auswerten können. Die Verwendung von eval() im Produktionscode wird im Allgemeinen nicht empfohlen, da damit beliebiger Code ausgeführt werden kann, was ein Sicherheitsrisiko darstellen kann.

Alternative Methode

Es ist erwähnenswert, dass es sicherere Möglichkeiten gibt, eine Funktion über ihren in einer Zeichenfolge gespeicherten Namen aufzurufen, ohne eval zu verwenden, z. B. -

let functionName = "sayHello";
let functionObj = window[functionName];
functionObj();
Nach dem Login kopieren

oder

let functionName = "sayHello";
let functionObj = window['sayHello'];
functionObj();
Nach dem Login kopieren

Diese Alternativen sind sicherer als die Verwendung von eval, da sie keinen beliebigen Code ausführen, sondern direkt über den Namen auf die Funktion verweisen.

Das obige ist der detaillierte Inhalt vonWie rufe ich mit JavaScript eine Funktion aus einem in einer Zeichenfolge gespeicherten Funktionsnamen auf?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:tutorialspoint.com
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage