Home > 技術 > JavaScriptのcalleeプロパティは関数オブジェクトを返すよ

JavaScriptのcalleeプロパティは関数オブジェクトを返すよ

普段あまり使われない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レベルでのロギングとかで役に立ちそうです。

【関連する記事】

Comments:0

Comment Form

コメントを表示する前にこのブログのオーナーの承認が必要になることがあります。

Remember personal info

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

Home > 技術 > JavaScriptのcalleeプロパティは関数オブジェクトを返すよ

Tag cloud
Categories
月別アーカイブ
このブログについて
author:hisasann

description:フリーランスで仕事しているプログラマーです。
最近はJavaScript、Rails、Java(Struts+Spring)なんかをいろいろといじっています。
今やってみたいのはFlashやActionScriptかな。
また誕生して半年になる子供の成長を見守るパパでもあります。

日々の日記 :

他に運営しているブログ:

利用しているWebサービス :
最近のコメント
Powered by
Powered by
Movable Type 3.35

Page Top