名前のない関数を定義すると同時に呼出すことができません。そういう必要があるかどうかは別として。
以下のサンプルスクリプト001を実行すると、関数の呼出しはされません。
スクリプト001■名前のない関数を定義と同時に呼出す
returnedValue = function () {
trace("called"); // 出力されない
return 1;
}();
trace(returnedValue); // 出力: undefined
もっとも、名前のない関数は、定義時に参照を取得しなければ、メモリに残りません。参照を保持せずに、呼出した結果だけを取得するという処理は、あまり意味はないでしょう。一旦参照を取得してからであれば、関数は正しく呼出すことができます(スクリプト002)。
スクリプト002■名前のない関数の参照を変数に格納してから呼出す
myFunction = function () {
return 1;
};
returnedValue = myFunction();
trace(returnedValue); // 出力: 1
デバッグで関数をテストするときくらいしか、実際の用途は思いつきません。ただ、動作しないというのは、どうも気分がよくありません。JavaScriptでは、問題なく動作するようです。