カテゴリー
オライリーJavaScript

即時関数、匿名関数、クロージャ

無名関数=匿名関数=関数リテラル
関数名がない。

function(引数1, 引数2, ・・・){
   ・・・
}

変数に代入できる

var foo = function(引数1, 引数2, ・・・) { ・・・ };
foo(引数1, 引数2, ・・・);  //呼び出し

即時関数
1回しか読み込まれない処理をグローバルスコープを汚染せずに実行する目的
イベント処理やコールバック関数などといった用途で利用される

(function(仮引数1, 仮引数2, …){実行する処理;})(実引数1, 実引数2, …);

例:

(function(name) {
     console.log("Hello " + name)
})("taro");

例:

var num = (function(x, y){return (x + y)/2;})(10, 8);