继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

【备战春招】第9天 ES6基础知识详解(五)

周帅帅Love
关注TA
已关注
手记 86
粉丝 5
获赞 96

课程章节: ES6基础知识详解

课程讲师大谷

课程内容:

上篇文章我们写了函数扩展的前两种,这节继续讲解函数的尾调用。函数的尾调用主要用来解决函数之间调用优化的问题,其中这个代表的是最后的意思,就是在最后一步调用另一个函数,另一个函数可以是其他的函数也可以是自己,如果是调用自己那就是递归,如果调用其他的函数那就是函数的嵌套。函数的尾调用需要满足条件才属于尾调用,条件就是最后一步,而且最后一步不能参与别的运算。下面列举了一种符合的和两种不符合尾调用的。
图片描述

递归的情况:

如果不使用尾调用可能会导致内存溢出的情况。因为会不断地分配内存空间,当分配到一定成功,肯定会产生内存溢出的。使用尾调用之后,是共用一个内存空间,性能就会有很大的提高。我们想要使用递归来实现某个数的阶乘,而且还要符合尾调用,就不能在最后一步使用别的运算进行参与,下面针对符合不符合进行了列举。
图片描述

课程收获:

这一章主要学习了ES6中函数扩展中的尾调用,我们在使用尾调用的时候,需要满足两个条件,一是我们要在最后一步调用另一个函数,二是最后一步的函数中不能再使用其他运算符进行运算。尾调用的作用就是用来优化问题的,提高性能。除此之外,我们平常在递归函数中会经常使用尾调用。递归也是我们平时工作或者面试中几乎都会遇到,学习了尾调用之后,可以将递归的性能进行优化。

打开App,阅读手记
1人推荐
发表评论
随时随地看视频慕课网APP