質問: function (n) {...};とfunciton factorial(n) {...} のいずれも使わずに。)すなわち関数に名前をつけない状況。)になった場合、同様のことをするプログラムをどのように記述すればいいか考えてください。(ただし、再帰構造はそのままで。) 解答は以下の「...function...」の部分を書き換えてください。
回答: ご質問の意味がよくわからない(何を求めてらっしゃるのか)のですが、次のように書きたい、ということなのでしょうか。 ``` console.log( (function f0(n) { 'use strict'; if (n === 1) { return 1; } return n * f0(n - 1); } )(10) ); ``` `f0` という関数名は外には漏れません。この関数の外からこの関数を利用するすべはありません。 `arguments.callee` が使える状況 (ECMAScript5 の strict mode では使えなかったと思う) では、次のように完全に無名にできます。 ``` console.log( (function(n) { if (n === 1) { return 1; } return n * arguments.callee(n - 1); } )(10) ); ```