匿名関数を式として使用し、宣言された関数の名前を渡すことは、Internet Explorer 6 より前のすべてのJavaScriptをサポートするブラウザーで利用できます。
私が見つけた最初のドキュメントはECMA-262で、これは 1997 年にさかのぼります。
完全なサポートについて話している場合、IE の古いバージョン ( IE8 まででも)は、関数式の名前が親スコープで定義され、設定されているように、名前付き関数式で変数リークに悩まされていました。実際には宣言された関数です。
// Assuming old JScript engine
typeof foo; // "undefined", expected, it's not been defined yet
bar; // defined as if hoisted function declaration, unexpected
var foo = function bar() {};
foo; // as expected
bar; // identical to foo, not expected
foo === bar; // false, they're actually different function objects in memory