---
title:函数递归
date: 2018-06-09 16:29:00
updated: 2018-06-10 12:00:00
categories:
- 语言基础
- 函数编程
tags:
- nodejs
---
#什么是它?
自己调用自己
#如何创建?
#一些示例?
//01循环体为:函数+参数
// 用递归求——数的阶乘
// n! = n * (n-1)!
function func(n){
//定义退出条件
if (n == 1){
return 1;
}
return n * func(n-1);
}
console.log(func(5));
//02循环体为:函数+函数
// 用递归求——斐波拉契
function rabbit(n){
if (n == 0 || n == 1){
return 1;
}
return rabbit(n-1) + rabbit(n-2);
}
console.log(rabbit(22));
// 用递归求——各数之和
function sum(n) {
if(n===1){
return 1;
}
return sum(n-1)+n;
}
console.log(sum(100));
/**
* 用递归求——各数之和 修改版
* @param {*} end 结束之数
* @param {*} start 开始之数
*/
function sum2(end,start) {
if(end===start){
return start;
}
return sum(end-1,start)+end;
}
console.log(sum2(100,1));
网友评论