Caller ermitteln?
geandr
- javascript
1 LX
Ist es möglich in einer JS Umgebung innerhalb einer JS function zu ermitteln welcher 'caller' die Funktion aufgerufen hat? D.h. ich möchte wissen welche andere JS die aktuelle aufgerufen hat.
Wenn ja, wo kann ich mich weiter schlau machen?
Es gab mal arguments.callee, dieses ist jedoch seit Version 1.4 deprecated (was jedoch nicht heißt, dass es nicht unterstützt wird) - ein nettes Beispiel findet sich hier:
http://eriwen.com/javascript/js-stack-trace/
Gruß, LX
Hi
Es gab mal arguments.callee, dieses ist jedoch seit Version 1.4 deprecated
Stimmt das? Ich dachte nur Function.arguments.callee sei deprecated.
callee als Eigenschaft der lokalen arguments-Variable aber weiterhin bestehend…
Gruss,
nam
Dazu gibt es unterschiedliche Quellen im Internet. Was jedoch viel wesentlicher ist: welche Browser-Versionen unterstützen callee? Ich habe bisher nur im FF getestet (der es brav unterstützt).
Gruß, LX
Hi,
Ihr verwechselt anscheinend arguments.caller und arguments.callee. Der OP fragt wohl eher nach arguments.caller. Das wird laut SELFHTML nur von einigen Browsern unterstützt und ist, wie dort auch steht, seit Netscape JavaScript 1.3 deprecated und nicht Teil von ECMAScript 3 (PDF).
arguments.callee ist was ganz anders. Es verweist in einer Funktion auf das gegenwärtige Funktionsobjekt. arguments.callee ist auch deprecated, aber erst seit ECMAScript 5 (PDF) und kann im neuen Strict-Mode nicht genutzt werden.
Michi