GameCorder.net

このエントリーをはてなブックマークに追加

10.javascript,無名関数

javascriptで結構使われる無名関数。
他の言語に慣れていると、初めてこの記述を見たときに、なんだこれと思います。
無名関数とは、そのままで、名前のない関数のことです。
javascriptでは、関数の名前を定義せずに実行することができます。
無名関数のよく使われる例を見ます。

setTimeout(function() {
	// 1000ミリ秒毎に実行する処理
}, 1000);		
		

setTimeout関数の第一引数には、時間が来たら処理を実行する関数を入れますが、
その関数を定義せずに、無名関数として直接代入することができます。
関数の呼び出しが一度きりなどの場合早く済みます。

次は、平文で無名数を実行します。()がポイントです。
関数定義ではなく、以下を実行すると、無名関数の中身であるalertが実行されます。

// 平文で無名関数を実行する
(function(){
alert("anonymous");
}());
		

変数に関数オブジェクトを代入する方法も無名関数です。

var func = function(){alert("anonymous");};
func();

// 実行結果
anonymous