Heim >Web-Frontend >js-Tutorial >Wie kann ich Informationen zu JavaScript-Aufruffunktionen abrufen?

Wie kann ich Informationen zu JavaScript-Aufruffunktionen abrufen?

Linda Hamilton
Linda HamiltonOriginal
2024-10-20 21:57:031082Durchsuche

How Can I Retrieve Information About JavaScript Caller Functions?

JavaScript-Aufruferinformationen

In JavaScript ist es möglich, Details über die Funktion abzurufen, die eine andere Funktion aufruft.

Anrufer-Funktionsname

Sie haben bereits den Ansatz zum Abrufen des Anrufer-Funktionsnamens erwähnt:

var callerFunc = arguments.callee.caller.toString();
callerFuncName = (callerFunc.substring(callerFunc.indexOf("function") + 8, callerFunc.indexOf("(")) || "anoynmous")

Anrufer-Leitungsnummer

Um die Zeilennummer zu extrahieren, aus der die Methode aufgerufen wurde, können Sie das Error-Objekt verwenden:

function getErrorObject(){
    try { throw Error('') } catch(err) { return err; }
}

var err = getErrorObject();
var caller_line = err.stack.split("\n")[4];
var index = caller_line.indexOf("at ");
var clean = caller_line.slice(index+2, caller_line.length);

In diesem Code generiert die getErrorObject-Funktion ein Fehlerobjekt. Durch Zugriff auf die Stack-Eigenschaft können Sie einen Stack-Trace abrufen, der Informationen zum aktuellen Aufrufkontext enthält.

Quell-URL der Aufruferdatei

Leider wird das JavaScript direkt abgerufen Die URL der Dateiquelle, von der aus die Methode aufgerufen wurde, ist in den meisten JavaScript-Implementierungen nicht möglich.

Das obige ist der detaillierte Inhalt vonWie kann ich Informationen zu JavaScript-Aufruffunktionen abrufen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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