了解递归函数

递归函数

注意:

①一个函数在他的函数体内调用他自身称为递归调用,执行递归函数将反复调用其自身,每执行一次进入新的一层。

②为防止递归函数无休止的进行,必须在函数内有终止条件。

③对于一个函数只要知道他的递归定义式和边界条件,就可以编递归函数

例子1:阶乘

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
</head>
<body>

</body>
<script>
function fn(n){
if(n == 1){
return 1
}else{
return n * fn(n-1)
}
}
var a = fn(5)
console.log(a)
</script>
</html>

例子二:

 斐波那契数列
1,1,2,3,5,8,13,21,34,55.....

计算方法:n = fn(n-1) + fn(n-2)

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
</head>
<body>

</body>
<script>
function fn(n){
if(n == 1 || n == 2){
return 1;
}else{
return fn(n-1) + fn(n-2)
}
}
var a = fn(10)
console.log(a)
</script>
</html>

一句话总结递归:自我调用且有完成状态!!!

原文地址:https://www.cnblogs.com/wss521/p/11415381.html