>>読書会のエントリで式と文の所で例を挙げながら少し書いたけど、もう少し書きたいと思ったので改めて。前回のエントリ内では4種類のfunctionを使った例を書いていましたが、それに関してminkeさんからコメントをいただいたので、もう少し考えてみることにしました。a(){alert(2);})();」と書くと良いということです。こっからは結果がわかりやすいようにalertをconsole.debugに置き換えて書きます。テストはFireBufで行ってます。errorの変形です。前者は(に続くため関数式となり、後者は文頭からなので関数宣言になるという違いがあります。definedとなります。function(){console.debug(2);})();a();>>2>>2こう記述すると問題ない。無名関数の名前部分は無視とりあえず名前付きの関数式の名前は外部から呼び出す場合には無効。Expressions)』という項目があるのですが、Syntaxが書いてないので名前か居ていいのかどうかわからない。Definition)に書いてた。}っという事なので省略可能な識別子って事みたいなので記述する事には問題ないらしい。内部から呼び出してみるとどうか。>>0どうやら中からなら問題なく呼び出せる模様。Safariで確認してみた所動いた。ついでにIEとOperaでも動作確認したけどちゃんと動いた。名前つきの無名関数の名前は、関数内のみ利用可能なんですね。古いSafariだと問題があったりするのかもだけど。話しも読める、nanto_vi先生のエントリを読んだ方が勉強になりますね。Moonこの辺のお話しは、ちょうど前回の読書会で話題になりましたね。