美文网首页
函数尾调用

函数尾调用

作者: 乘风破浪的哥哥 | 来源:发表于2021-04-25 22:42 被阅读0次

    尾调用

    尾调用( Tail Call )是函数式编程的一个重要概念,本身非常简单,一句话就能说清楚,就是指某个函数的最后一步是调用另一个函数。
    1、尾调用,必须是return 并且必须是函数
    2、尾调用不一定出现在函数尾部,只要是最后一步操作即可。

    ES6的严格模式

    ES6 的尾调用优化只在严格模式下开启,所以开启严格模式就可以进行尾调用优化
    操作如下

    "use strict";
    // 代码块
    

    尾递归

    函数调用自身,称为递归。如果尾调用自身,就称为尾递归。
    尾递归的实现,往往需要改写递归函数,确保最后一步只调用自身。做到这一点的方法,就是把所有用到的内部变量改写成函数的参数
    递归非常耗费内存,因为需要同时保存成千上百个调用帧,很容易发生 “ 栈溢出 ” 错误( stack overflow )。但对于尾递归来说,由于只存在一个调用帧,所以永远不会发生 “ 栈溢出 ” 错误。

    相关文章

      网友评论

          本文标题:函数尾调用

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