mus_木司
2020-03-09 21:18
采纳率: 100%
浏览 221
已采纳

问一个关于函数参数传递的问题

const { log } = console; //对console.log进行对象解构
function currying(fn) {
    return (a) => fn.call(this, a);
}

function tailFactorial(n, total = 1) {
    if (n === 1) return total;
    return tailFactorial(n - 1, n * total);
}

const factorial = currying(tailFactorial);

log(factorial(5)); // 120

有没有学识渊博的大佬,请问一下这个tailFactorial函数当参数传递到 currying里面factorial(5)的5为什么只能在currying里面的return里面截取到,在currying(fn,a)这样就截取不到。
想问一下是什么原理,还有就是怎么找到参数a的来源

  • 写回答
  • 好问题 提建议
  • 追加酬金
  • 关注问题
  • 邀请回答

2条回答 默认 最新

相关推荐 更多相似问题