为了账号安全,请及时绑定邮箱和手机立即绑定

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

标签:
JavaScript

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

课程讲师大谷

课程内容:

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

递归的情况:

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

课程收获:

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

点击查看更多内容
1人点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消