JS之递归
2023-12-13 04:17:53
递归是什么?
调用自身函数称为递归函数
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 直接返回0
if(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
感谢大家的阅读,如有不对的地方,可以向我提出,感谢大家!
文章来源:https://blog.csdn.net/m0_74577714/article/details/134947554
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!