"尾函数"

尾调用

1.尾调用是函数编程的重要概念,指某一个函数的最后一步调用了另一个函数

2.尾调用不一定出现在函数的最后,但一定是函数的最后一步操作

3.函数调用内部形成一个调用桢,保存调用的位置和内部变量等信息,内部的函数嵌套形成 调用栈,尾调用由于是函数最后一个操作,由于位置信息和内部变量步子使用,可以用最后一个函数的调用帧取代外层函数的调用帧,这就是所谓的 尾调用优化

4.只有不在用到外层函数的内部变量,内部函数的调用帧才会取代外层的调用帧

尾递归

1.函数调用自身,为递归;尾调用调用自身,则为尾递归;

2.递归耗费内存是由于需要保存函数的调用帧引起的,容易栈溢出,但是对于尾递归只存在一个调用帧,所以不会发生 栈溢出的错误

3.改写递归函数为尾递归: 把所有用到的内部变量改写为函数的参数

柯里化currying:将多参数的函数转化为单参数的形式
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 函数参数的默认值 基本用法 在ES6之前,不能直接为函数的参数指定默认值,只能采用变通的方法。 上面代码检查函数l...
    呼呼哥阅读 8,955评论 0 1
  • 1.函数参数的默认值 (1).基本用法 在ES6之前,不能直接为函数的参数指定默认值,只能采用变通的方法。
    赵然228阅读 4,066评论 0 0
  • 原文地址:C语言函数调用栈(一)C语言函数调用栈(二) 0 引言 程序的执行过程可看作连续的函数调用。当一个函数执...
    小猪啊呜阅读 10,287评论 1 19
  • 近日受婚姻毒害的女人越来越多,这也让越来越多的未婚姑娘产生恐婚心理。与其说都是婚姻惹的祸,不如说凶手是渣男。 前段...
    臭脸猫阅读 2,600评论 0 1
  • 如果你是一个瘦子找了一个胖的女朋友,我真的建议你别惹她,因为那样你会...来,话不多说,看看主人公所经历的。 有一...
    奶豆弟弟阅读 5,157评论 7 2

友情链接更多精彩内容