まずJavaScriptの関数のおさらい。 以下の二つは同じ意味。 function hoge() {} var hoge = function() {};//無名関数を代入 両者の違いは文か式かということ。 前者は文、後者は式である。 どちらを使うかはプログラマの好みであるが、自分は後者を使い続けてる。 理由は、関数を値として持つ変数ということを常に意識しているから。 JavaScriptではfunctionが文か式かを把握していないとのちのち困ることが出てくる。 特に 文では通常「関数の巻き上げ」という現象が起こる。「関数の巻き上げ」とは、スコープに関することで、JavaScriptでは関数を文で置くとどこに置かれているかに関わらず、スコープの一番先頭に移動されるのである。 文だけ。 関数呼び出し部分よりも後に記述しても呼び出し可能なのはこのため。 自分はゆるい感じでソース書くから文を