Heim >Web-Frontend >js-Tutorial >Wie erhalte ich dynamisch den Namen der aktuellen Funktion in JavaScript?
Erhalten des Namens der aktuellen Funktion in JavaScript
Können Sie dynamisch auf den Namen der aktuell ausgeführten Funktion in JavaScript zugreifen?
Problembeschreibung
Betrachten Sie das folgende Beispiel:
<code class="javascript">myfile.js: function foo() { alert(<my-function-name>); // pops-up "foo" // or even better: "myfile.js : foo" }</code>
Das Ziel besteht darin, den Namen der Funktion und möglicherweise ihren vollständigen Speicherort (Dateiname:Funktionsname) abzurufen ). Ist das erreichbar?
Lösung
In ES5 und höher: Leider gibt es in ES5 keinen integrierten Mechanismus, um den Namen der Funktion zu erhalten und nachfolgende Versionen.
In älteren JavaScript-Versionen: In früheren Versionen von JavaScript war es möglich, über arguments.callee auf den Funktionsnamen zuzugreifen. Dieser Ansatz erfordert jedoch möglicherweise etwas Parsing, da der zurückgegebene Wert möglicherweise überflüssige Informationen enthält.
Parsing-Ansatz:
<code class="javascript">function DisplayMyName() { var myName = arguments.callee.toString(); myName = myName.substr('function '.length); myName = myName.substr(0, myName.indexOf('(')); alert(myName); }</code>
Quelle: [ Javascript – aktuellen Funktionsnamen abrufen](https://stackoverflow.com/questions/4267180/javascript-get-current-function-name)
Das obige ist der detaillierte Inhalt vonWie erhalte ich dynamisch den Namen der aktuellen Funktion in JavaScript?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!