尾调用(Tail Call)

Posted webnotes

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了尾调用(Tail Call)相关的知识,希望对你有一定的参考价值。

尾调用(Tail Call) 就是指某个函数的最后一步是调用另一个函数。

function f(x){
  return g(x);
}

  

尾调用 案例 :【尾递归 】

  • 先展示一般写法
    1 function factorial(n) {
    2   if (n === 1) return 1;
    3   return n * factorial(n - 1);
    4 }
    5 
    6 factorial(4) // 24

     

     

  • 尾递归写法
    1 function factorial(n,total) {
    2   if (n === 1) return total;
    3   return  factorial(n - 1,n*total);
    4 }
    5 factorial(4,1) // 24

     

 

     

以上是关于尾调用(Tail Call)的主要内容,如果未能解决你的问题,请参考以下文章

尾递归

尾调用优化

拾遗:关于“尾递归”——tail recursive

如何看待以及理解Python的这种尾递归优化

长尾效应--Long Tail Effect

用尾递归减少函数的运算内存