Heim > Web-Frontend > js-Tutorial > Wie erhalte ich dynamisch den Namen der aktuellen Funktion in JavaScript?

Wie erhalte ich dynamisch den Namen der aktuellen Funktion in JavaScript?

Susan Sarandon
Freigeben: 2024-10-21 15:27:30
Original
676 Leute haben es durchsucht

How to Dynamically Get the Name of the Current Function 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>
Nach dem Login kopieren

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>
Nach dem Login kopieren

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!

Quelle:php
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage