定义:在函数内部调用自己的函数称为递归函数。递归函数为了防止溢出,必须使用return。
案例1:求n的阶乘1*2*3*4*5.。。*n
<script>
// 1*2*3*...*n
let n = prompt('请输入n')
function fn(n) {
if (n <= 1) {
return n
} else {
return n * fn(n - 1)
}
}
alert(n + '的阶乘为' + fn(n))
</script>
案例2 递归求n的斐波那契数列
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>递归函数:斐波那契数列</title>
</head>
<body>
<button>点击</button>
<script>
let btn = document.querySelector('button')
let n = 0
let arr = []
btn.addEventListener('click', function () {
n = prompt('请输入n')
for (let i = 0; i < n; i++) {
arr[i] = fb(i + 1)
console.log(arr[i])
}
alert(n+'的斐波那契数列为:'+arr)
})
function fb(n) {
if (n === 1 || n ==&#