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