呼び出しもとの関数名を取得する

□プロパティとして名前をつけておくしかない?
function myFunction1() {
// trace(arguments.caller);
trace(arguments.caller._name);
}
function myFunction2() {
myFunction1();
}
myFunction2._name = "myFunction2";
myFunction2();

なんかこれだと汎用性というか、今あるものに適用するのは面倒か・・・

□toStringに強引に関数名いれる
function myFunction1() {
trace(arguments.caller);
}
function myFunction2() {
myFunction1();
}
myFunction2.toString=function(){
return "myFunction2";
}
myFunction2();

//出力
myFunction2
これはこれでホントに出力かえて大丈夫?

0 件のコメント :

コメントを投稿