美文网首页
函数式编程之尾调用

函数式编程之尾调用

作者: Kevin丶CK | 来源:发表于2019-03-21 15:10 被阅读0次

1. 尾调用

尾调用(Tail Call)是函数式编程的一个重要概念,本身非常简单,一句话就能说清楚,就是指某个函数的最后一步是返回另一个函数。举个最简单的例子:

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

上面代码中,函数f的最后一步是调用函数g,这就叫尾调用。

// 情况一
function f(x){
  let y = g(x);
  return y;
}

// 情况二
function f(x){
  return g(x) + 1;
}

// 情况三
function f(x){
  g(x);
}
//等同于
function f(x){
  g(x);
  return undefined;
}

上面代码中,情况一是调用函数g之后,还有赋值操作,所以不属于尾调用,即使语义完全一样。情况二也属于调用后还有操作,即使写在一行内。情况三最后一步是函数g运行最后的操作,再返回空。
尾调用不一定出现在函数尾部,只要是最后一步操作即可。

相关文章

  • 函数式编程之尾调用

    1. 尾调用 尾调用(Tail Call)是函数式编程的一个重要概念,本身非常简单,一句话就能说清楚,就是指某个函...

  • 尾调用优化

    什么是尾调用 尾调用(Tail Call)是函数式编程的一个重要概念,就是指某个函数的最后一步是调用另一个函数。 ...

  • 函数式编程 - 尾调用

    一. 什么是尾调用? 尾调用(Tail Call)是函数式编程的一个重要概念,本身非常简单,一句话就能说清楚,就是...

  • 尾调用和尾递归

    尾调用 1. 定义 尾调用是函数式编程中一个很重要的概念,当一个函数执行时的最后一个步骤是返回另一个函数的调用,这...

  • ES 6 函数尾调用

    尾调用优化 什么是尾调用? 尾调用(Tail Call)是函数式编程的一个重要概念,本身非常简单,一句话就能说清楚...

  • 尾调用

    什么是尾调用 尾调用(Tail call)是函数式编程中的一个重要概念,本身非常简单,就是指某个函数的最后一步是调...

  • 尾调用优化(Tail Call Optimization)

    1.什么是尾调用   尾调用(Tail Call)是函数式编程的一个重要概念,用简单的一句话描述就是“在函数的最后...

  • 函数尾调用

    尾调用 尾调用( Tail Call )是函数式编程的一个重要概念,本身非常简单,一句话就能说清楚,就是指某个函数...

  • 函数式编程

    简单整理一下对函数式编程的理解和实践,本文包含函数式编程的概念、特性、合成、柯里化、尾调用、尾递归优化部分内容。 ...

  • 尾递归优化

    尾调用 尾调用指某个函数的最后一步是调用另一个函数。 尾调用不一定出现在函数尾部,只要是最后一步操作即可。 尾调用...

网友评论

      本文标题:函数式编程之尾调用

      本文链接:https://www.haomeiwen.com/subject/ffwqvqtx.html