>>counter=func1(); >>counter=func1; >この2つの構文を使い分けをする場面は、どんな場合なのか分かりますか? 上は関数func1を実行した結果(戻り値)をcounterに格納する。 下は関数func1の別名を与えている。(関数そのものを代入している。) といった感じ。 意味が全然違うから使い分ける場面も全然違う。 質問文の用法はスタティックなクラスを作る場合によく使用される。 一般的な形でわかりやすく書くと以下のような形。 var func = function(){ //オブジェクトリテラルを作成 var Obj = {}; //スタティックフィールドを作成 Obj.field = "スタティックフィールド" //スタティックメソッドを作成 Obj.Method = function(){ alert("メソッドが実行されました") } return O
![JavascriptのFunctionの構文について](https://cdn-ak-scissors.b.st-hatena.com/image/square/a73abc454de4aaacb370bad26db2312eacbc7375/height=288;version=1;width=512/https%3A%2F%2Foshiete.xgoo.jp%2Fimages%2Fsp%2Fqa_recommend%2F2101_2.jpg)