使用方法についてのスタックオーバーフローに関する多数の投稿をここで読みました
arguments.callee.caller or arguments.callee.caller.toString()
簡単な検索を行うと、これに関する多数の投稿を見つけることができます。
だから、これを自分で試してみることにしました!ただし、javascriptオブジェクト内で関数の名前を見つけたいのですが、実際の関数名ではなく、関数内のコードを返しているようです。
これがjsFiddleです:http://jsfiddle.net/4Cp5Z/18/。
要約すると、新しいアプリを作成してから、を呼び出しますapp.testFunction
。testFunction()
を呼び出しreceiver()
、私はvar name
に等しいことを期待していますtestFunction
app = function() {
this.testFunction = function() {
this.receiver();
};
this.receiver = function() {
var name = this.receiver.caller.toString();
// this.receiver.caller.name outputs nothing...
};
};