Heim >Web-Frontend >js-Tutorial >Wie kann ich innerhalb der Funktion in JavaScript auf den Namen einer Funktion zugreifen?
Funktionsidentität von innen heraus entdecken
Die Herausforderung, auf Funktionsnamen aus der Funktion heraus zuzugreifen, tritt häufig in der Programmierung auf. Mit JavaScript gibt es mehrere Ansätze zur Lösung dieses Problems.
ES6: myFunction.name
In ES6 und späteren Versionen besteht die direkte Lösung darin, myFunction.name zu verwenden Eigentum. Dieses Attribut stellt den Namen der Funktion bereit und macht sie zu einer effizienten und unkomplizierten Methode.
ES5: Funktionsanalyse
Für ES5 gibt es eine benutzerdefinierte Funktion namens functionName(fun) kann erstellt werden, um den Namen aus der Zeichenfolgendarstellung der Funktion zu extrahieren. Es schneidet das Präfix „Funktion“ und die Klammern ab und liefert den gewünschten Funktionsnamen.
Regex-basierter Ansatz
Alternativ kann ein regulärer Ausdruck verwendet werden, um den zu erhalten Funktionsname. Die folgende regex-basierte Funktion von nus bietet eine verbesserte Leistung:
<code class="javascript">function funName(fun) { return fun.toString().match(/function ([^\(]+)[\s\S]*/)[1]; }</code>
Vorsichtsmaßnahmen und Überlegungen
Es ist wichtig zu beachten, dass Minifizierer möglicherweise Funktionsnamen für eine verbesserte Komprimierung optimieren . Wenn dies ein Problem darstellt, müssen Sie möglicherweise Ihre Minifier-Einstellungen anpassen. Darüber hinaus sollten Function.caller und arguments.callee vermieden werden, da sie nicht dem Standard entsprechen und im strikten Modus nicht empfohlen werden.
Das obige ist der detaillierte Inhalt vonWie kann ich innerhalb der Funktion in JavaScript auf den Namen einer Funktion zugreifen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!