- 2008-02-12 (火)
- 技術
普段あまり使われないcalleeプロパティを使ってみましたのでメモメモ。
calleeプロパティとは
calleeプロパティは実行中の関数オブジェクトの本体を返すプロパティです。
と定義されているので、実行している関数のfuncitonオブジェクトが返ります。
こんな感じです。
function test(){
var objCallee = test.arguments.callee;
alert(typeof objCallee); // function
}
testとはこの関数自体を指し示すので、関数オブジェクトになります。
そしてその関数の引数を保持しているargumentsオブジェクトの中にあるcalleeプロパティを呼び出している感じです。
これで関数自体を取得することが出来ます。
関数自体以外にもtoString()することにより関数の中身を文字列として取得することも可能です。
function test(){
var strCallee = test.arguments.callee.toString();
alert(typeof strCallee); // string
}
また「arguments.callee.name」というnameプロパティから関数名を取得することが出来ます。
上記例の場合は、「test」が返ってきます。
これはJavaScriptレベルでのロギングとかで役に立ちそうです。
【関連する記事】
- Newer: JavaScriptでthisキーワードはどこを参照しているの?
- Older: Eclipseがフルスクリーンになるプラグイン
Comments:0
Trackback:0
- TrackBack URL for this entry
- http://hisasann.com/cgi-bin/mt/mt-tb.cgi/893
- Listed below are links to weblogs that reference
- JavaScriptのcalleeプロパティは関数オブジェクトを返すよ from HouseTect, JavaScripter Blog

