関数ファクトは、継続渡しスタイルで階乗を見つけるために定義されています。
function fact(n,myFun)
{
if(n==1)
myFun(1);
else
fact(n-1,function inner(t0){ myFun(n*t0) });
}
と呼ばれ、
fact(4, function outer(k) { console.log(k); } );
ここでブレークポイントを使用した後、この関数を呼び出した後、プログラムが次のように実行されることがわかりました
n = 4、事実 (4、外側)、その後
n = 4、ファクト (3、インナー (t0))、その後
n = 3、ファクト (2、インナー (t0))、その後
n = 2、事実(1、内側(t0))、そして
私の楽しみ(1)
この後、myFun(1) から 1 の値がどのように t0 に渡されるのか理解できません。