« flash8エフェクト軽量化メモ | main | 一定の範囲の値しかとらない変数の宣言方法 »
2006年02月05日
クロージャにプロパティをセットする???
Flash(というかJavaScript)では、functionはオブジェクトの一種です。
なので、ひょっとしたら関数にプロパティが定義できるんじゃないかと思って、実験してみた。
var hoge = function(){ trace(arguments.callee.prop) } hoge.prop = "hogehoge" hoge()
ちゃんと実行すると 、関数hoge内でhogeに定義したプロパティpropにアクセスでき、"hogehoge" って表示される。
trace文内でのarguments.calleeという記述は、関数自身への参照。つまり"arguments.callee.prop"は自身のプロパティpropにアクセスしてる
これうまく使うとクロージャとかで、色々と面白いことができるなじゃいかと思うんだけどどうだろ。
投稿者 Taka : 2006年02月05日 13:01
book
bookmark
trackbacks
this entry's trackback URL:
http://www.fladdict.net/cgi-bin/mt3/mt-tb.cgi/454