gpt4 book ai didi

javascript - 理解这种连续传球风格

转载 作者:太空宇宙 更新时间:2023-11-04 16:15:27 25 4
gpt4 key购买 nike

函数事实被定义为以连续传递方式查找阶乘,

    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,fact(1,inner(t0)) 然后

我的乐趣(1)

此后我无法理解,myFun(1) 中的 1 值如何传递给 t0

最佳答案

如果您也记录该函数,您可以检查发生了什么。

function fact(n, myFun) {
console.log(n, myFun);
if (n == 1) {
myFun(1);
} else {
fact(n - 1, function inner(t0) {
console.log(n, t0);
myFun(n * t0);
});
}
}

fact(4, function (v) { console.log(v); return v; });
.as-console-wrapper { max-height: 100% !important; top: 0; }

关于javascript - 理解这种连续传球风格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41116089/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com