Heim > Web-Frontend > js-Tutorial > Hauptteil

Wie können Sie den Namen einer Funktion in JavaScript abrufen?

DDD
Freigeben: 2024-10-26 05:42:03
Original
434 Leute haben es durchsucht

How Can You Retrieve a Function's Name in JavaScript?

Zugriff auf Funktionsnamen innerhalb ihres Gültigkeitsbereichs

Die Möglichkeit, den Namen einer Funktion aus der Funktion selbst abzurufen, ist eine nützliche Technik in JavaScript. Dies kann jedoch eine Herausforderung darstellen, da Funktionsnamen nicht ohne weiteres verfügbar sind, wenn man von innen darauf zugreift.

ES6-Lösung:

In ES6 ist der Zugriff auf den Namen einer Funktion unkompliziert:

<code class="javascript">const getFunctionName = () => myFunction.name;</code>
Nach dem Login kopieren

ES5-Lösung:

Für ES5 wird der folgende Ansatz empfohlen:

<code class="javascript">function getFunctionName(func) {
  const funcStr = func.toString();
  const name = funcStr.substring('function '.length, funcStr.indexOf('('));
  return name;
}</code>
Nach dem Login kopieren

Verwenden von Function.caller ( Nicht empfohlen):

Function.caller bietet eine nicht standardmäßige Lösung für den Zugriff auf den Namen des Anrufers. Aufgrund potenzieller Kompatibilitätsprobleme und seiner veralteten Funktion im strikten Modus sollte dies jedoch vermieden werden.

Regex-basierte Lösung:

Ein weiterer effizienter ES5-Ansatz beinhaltet die Verwendung eines regulären Ausdrucks :

<code class="javascript">const getFunctionName = (func) => /function\s+([a-zA-Z$][a-zA-Z$0-9]+)/.exec(func.toString())[1];</code>
Nach dem Login kopieren

Beispiel:

Lassen Sie uns das bereitgestellte Code-Snippet als Beispiel verwenden:

<code class="javascript">var ns.parent = function() {
  // at this point, i want to know who the child is that called the parent
  // ie
  console.log(getFunctionName(this));
}

var obj = new ns.parent.child();</code>
Nach dem Login kopieren

Dies wird ausgegeben: „newFunc“ weil newFunc die Funktion ist, die die übergeordnete Funktion aufgerufen hat.

Das obige ist der detaillierte Inhalt vonWie können Sie den Namen einer Funktion in JavaScript abrufen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!