9 Stimmen

javascript - arguments.callee.toString() und arguments.callee.name geben keinen Funktionsnamen zurück

Ich versuche, den Namen der aktuell ausgeführten Funktion abzurufen. Nach dem, was ich gelesen habe, sollte dies mit möglich sein:

(arguments.callee.toString()).match(/function\s+(\[^\s\(]+)/)

Wenn ich dies jedoch in Firefox und Safari (neueste Versionen auf Mac) ausführe, wird der Name nicht zurückgegeben.

console.log( arguments.callee ) gibt die Quelle der Funktion zurück, aber nicht den zugewiesenen Namen. arguments.callee.name gibt eine leere Zeichenfolge zurück.

Mein Beispielcode lautet wie folgt:

var testobj = {
    testfunc: function(){
        console.log( (arguments.callee.toString()).match(/function\s+(\[^\s\(]+)/) );
    }
}
testobj.testfunc();

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X