Aufrufen eines Funktionsaufrufs aus einer Zeichenfolge
In JavaScript ist es möglich, eine Zeichenfolge, die einen Funktionsaufruf darstellt, in einen tatsächlichen Funktionsaufruf umzuwandeln . Stellen Sie sich den Fall vor, dass wir eine Zeichenfolge wie:
"clickedOnItem(" + t.parentNode.id + ")"
haben, die wir in den Funktionsaufruf übersetzen möchten:
clickedOnItem(IdofParent);
Um dies zu erreichen, können wir den folgenden Ansatz verwenden:
<code class="javascript">var fn = window[settings.functionName]; if(typeof fn === 'function') { fn(t.parentNode.id); }</code>
In diesem Snippet rufen wir zunächst die Funktionsreferenz aus dem Fensterobjekt ab, indem wir die in „settings.functionName“ gespeicherte Zeichenfolge verwenden. Wenn die Funktion vorhanden ist, rufen wir sie mit den gewünschten Argumenten auf.
Wenn Settings.functionName beispielsweise auf „clickedOnItem“ gesetzt ist, würde die Ausführung des Codes zu Folgendem führen:
<code class="javascript">var fn = window["clickedOnItem"]; // Fetch the function reference fn(t.parentNode.id); // Invoke the function</code>
Dies ahmt effektiv den von uns angestrebten manuellen Funktionsaufruf nach. Bedenken Sie, dass dieser Ansatz aufgrund möglicher Sicherheits- und Wartbarkeitsbedenken im Allgemeinen missbilligt wird. Erwägen Sie die Erkundung sichererer Alternativen, z. B. die Verwendung des Funktionskonstruktors oder von Pfeilfunktionen, um Funktionsaufrufe dynamisch zu erstellen.
Das obige ist der detaillierte Inhalt vonWie führe ich einen Funktionsaufruf aus einem String in JavaScript aus?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!