Heim >Web-Frontend >js-Tutorial >Wie erhalte ich den Namen der aktuell ausgeführten Funktion in JavaScript?

Wie erhalte ich den Namen der aktuell ausgeführten Funktion in JavaScript?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-10-21 15:27:03621Durchsuche

How to Get the Name of the Currently Running Function in JavaScript?

Erhalten des Namens der aktuell ausgeführten Funktion in JavaScript

In JavaScript kann es vorkommen, dass Sie Zugriff auf den Namen der Funktion benötigen Funktion, die gerade ausgeführt wird. Obwohl dies möglicherweise kein häufiges Szenario ist, gibt es bestimmte Anwendungsfälle, die diese Informationen erfordern könnten.

Arguments.callee

In JavaScript-Versionen vor ES5 die Argumente Die Eigenschaft .callee bot eine Möglichkeit, die aktive Funktion abzurufen. Es ist jedoch wichtig zu beachten, dass diese Eigenschaft zugunsten sichererer Alternativen veraltet ist. Die Verwendung von arguments.callee kann in modernen JavaScript-Umgebungen zu unerwartetem Verhalten oder sogar Fehlern führen.

Funktionsnamen analysieren

Wenn Sie den Funktionsnamen benötigen, können Sie dies tun durch Analyse der Ausgabe von arguments.callee.toString(). Beachten Sie jedoch, dass die zurückgegebene Zeichenfolge zusätzliche Informationen wie geschweifte Klammern und Klammern enthält. Um den Funktionsnamen zu extrahieren, müssen Sie etwas Parsing durchführen.

Zum Beispiel:

<code class="js">function DisplayMyName() {
  var myName = arguments.callee.toString();
  myName = myName.substr('function '.length);
  myName = myName.substr(0, myName.indexOf('('));

  alert(myName);
}</code>

In ES5 und höher wurde die Eigenschaft arguments.callee vollständig entfernt, wodurch die Möglichkeit dazu entfällt Greifen Sie direkt auf den aktuellen Funktionsnamen zu. Daher wird empfohlen, sich in modernen Entwicklungspraktiken nicht auf diese Funktion zu verlassen.

Das obige ist der detaillierte Inhalt vonWie erhalte ich den Namen der aktuell ausgeführten Funktion in JavaScript?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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