递归是什么?
调用自身函数称为递归函数
function fn(){fn()}fn()
递归的作用和循环是基本一样的
编写递归函数,一定要包含两个条件
1.基线条件
2.递归条件
接下来我用几个实例为大家带来递归的用法
1.使用递归让延迟器有定时器的效果
function timer() {setTimeout(() => {console.log(1)// 1s后重新调用自身timer()}, 1000)}timer()
2.使用递归求任意数的乘阶
function fun(num) { // 如果num为1直接返回if(num == 1){return 1}// 我们利用递归return fun(num - 1) * num// 如何执行的呢?我们用num = 3来举例// 当num = 3时 fun(3 - 1) * 3// 然后递归继续调用num = 2 fun(2 - 1) * 2// 然后递归继续调用num = 1 因为我们上面判断了如果num == 1// return 1 终止}let result = fun(5)console.log(result) // 120
3.使用递归斐波那契数列
function func(num) {// num == 0 直接返回0if(num == 0){return 0// num == 1 直接返回1}else if(num == 1){return 1}//前2个数想加 (num - 1)+(num - 2) return func(num - 1) + func(num - 2)}let result = func(10)console.log(result) //55
感谢大家的阅读,如有不对的地方,可以向我提出,感谢大家!