本題に入る前に、 普通に関数を作って実行するとき var foo = function() { … }; foo(); としますよね。 この動作を普通に説明すると、 無名関数をfooに代入 fooを実行 という感じになりますが、もう少し細かく分解して、 function(){}はその関数の参照を値に持つ JavaScriptでは、functionの代入は参照を渡すので、 var foo = function() { … }; は左辺のfunction(){}は、自身への参照値を持ち、 それをfooに代入 していることがわかります。 関数の参照にカッコ()を付けると、関数を実行する 次に、普段なんとなく使っている foo(); これは foo(参照)に演算子()を付けると、関数が実行される …という事をあらわしていますね。 ということで、fooもカッコを付けないと参照だし、function(