参考资料:
翻译连载 | 第 9 章:递归(上)-《JavaScript轻量级函数式编程》 |《你不知道的JS》姊妹篇
JavaScript 递归上
定义
所谓递归,是当一个函数调用自身,并且该调用做了同样的事情,这个循环持续到基本条件满足时,调用循环返回。
⚠️
警告: 如果你不能确保基本条件是递归的 终结者,递归将会一直执行下去,并且会把你的项目损坏或锁死;恰当的基本条件十分重要!
直接递归
当一个函数调用自身时,很明显,这叫作直接递归
简单的函数递归
1 | function foo(x) { |
求质数
1 | /** |
斐波那契数
1 | fib( 0 ): 0 |
1 | function fib(n) { |
相互递归
如果在一个递归循环中,出现两个及以上的函数相互调用,则称之为相互递归。
求奇数偶数
1 | function isOdd(v) { |
简单迭代改为递归
1 | /** |
找出入参最大偶数值
1 | /** |