Heim > Artikel > Web-Frontend > Wie rufe ich mit JavaScript eine Funktion aus einem in einer Zeichenfolge gespeicherten Funktionsnamen auf?
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().
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 + "()");
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.
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.
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();
oder
let functionName = "sayHello"; let functionObj = window['sayHello']; functionObj();
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!