2011年11月09日に投稿

[Javascript]無名関数を再帰的に呼び出す

無名関数にはその名の通り名前がないので関数名で呼び出すことができませんが、argumentsオブジェクトのcalleeプロパティを使うことで自分自身を再帰的に呼び出すことができます。

下記はid「target」が指定されている要素にsaitamaという文字列を1秒ごとに延々と表示し続けるコードです。setTimeoutに渡す関数オブジェクトをarguments.calleeとすることで自分自身の関数名を書かずに示すことができます。

setTimeoutメソッドについてはこちらの記事でも以前紹介しています。

関数名を直接書くことを避けられれば、その部品の汎用性を上げることができそうです。

関連記事

Leave a Reply