首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >理解这种延续传球风格

理解这种延续传球风格
EN

Stack Overflow用户
提问于 2016-12-13 15:58:06
回答 1查看 88关注 0票数 1

定义函数事实以找到连续传递风格的阶乘,

代码语言:javascript
复制
    function fact(n,myFun)
    {
       if(n==1)
         myFun(1);
       else
         fact(n-1,function inner(t0){ myFun(n*t0) });
    }

调用,

代码语言:javascript
复制
    fact(4, function outer(k) { console.log(k); } );

在这里,在使用断点之后,我知道在我们调用这个函数之后,程序执行如下

N= 4,事实(4,外部),然后

N= 4,事实(3,内部(T0)),然后

N= 3,事实(2,内部(T0)),然后

N= 2,事实(1,内部(T0)),然后

myFun(1)

在此之后,我很难理解,myFun(1)中的1值是如何传递给t0的

EN

回答 1

Stack Overflow用户

发布于 2016-12-13 16:22:25

你可以检查发生了什么,如果你也记录这个函数的话。

代码语言:javascript
复制
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; });
代码语言:javascript
复制
.as-console-wrapper { max-height: 100% !important; top: 0; }

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41116089

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档