10.javascript,無名関数
javascriptで結構使われる無名関数。
他の言語に慣れていると、初めてこの記述を見たときに、なんだこれと思います。
無名関数とは、そのままで、名前のない関数のことです。
javascriptでは、関数の名前を定義せずに実行することができます。
無名関数のよく使われる例を見ます。
setTimeout(function() {
// 1000ミリ秒毎に実行する処理
}, 1000);
setTimeout関数の第一引数には、時間が来たら処理を実行する関数を入れますが、
その関数を定義せずに、無名関数として直接代入することができます。
関数の呼び出しが一度きりなどの場合早く済みます。
次は、平文で無名数を実行します。()がポイントです。
関数定義ではなく、以下を実行すると、無名関数の中身であるalertが実行されます。
// 平文で無名関数を実行する
(function(){
alert("anonymous");
}());
変数に関数オブジェクトを代入する方法も無名関数です。
var func = function(){alert("anonymous");};
func();
// 実行結果
anonymous