Heim > Web-Frontend > js-Tutorial > Wie kann ich die Aufruffunktion in JavaScript zuverlässig identifizieren?

Wie kann ich die Aufruffunktion in JavaScript zuverlässig identifizieren?

Patricia Arquette
Freigeben: 2024-12-29 20:44:12
Original
940 Leute haben es durchsucht

How Can I Reliably Identify the Caller Function in JavaScript?

Aufrufer-Funktionsidentifizierung in JavaScript

In JavaScript können Sie mit der Caller-Eigenschaft einer Funktion den Namen der Funktion abrufen, die sie aufgerufen hat . Diese Eigenschaft gilt jedoch als veraltet und wird nicht mehr empfohlen.

function main() {
  Hello();
}

function Hello() {
  // How do you find out the caller function is 'main'?
}
Nach dem Login kopieren

Aufrufstapel finden

Um den Aufrufstapel zu ermitteln, können Sie arguments.callee verwenden .caller.toString(), aber auch dies ist veraltet. Beachten Sie, dass diese Lösung nicht dem Standard entspricht und möglicherweise nicht in allen Browsern oder JavaScript-Implementierungen funktioniert.

Veraltete Lösung

function Hello() {
  alert(`caller is ${arguments.callee.caller.toString()}`);
}
Nach dem Login kopieren

Moderne Lösung

Eine modernere Lösung ist die Verwendung von new Error().stack.

function Hello() {
  console.log(new Error().stack);
}
Nach dem Login kopieren

Dies gibt den Stack-Trace aus, der den Namen der Aufruferfunktion enthält.

Wichtiger Hinweis:

Die Caller-Eigenschaft und arguments.callee.caller.toString() sind veraltet und sollte nicht für Produktionscode verwendet werden. Verwenden Sie immer die neue Error().stack-Lösung zum Abrufen des Aufrufstapels.

Das obige ist der detaillierte Inhalt vonWie kann ich die Aufruffunktion in JavaScript zuverlässig identifizieren?. 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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage