下面是使用 JavaScript 写一个递归函数的示例:
function factorial(n) {
if (n === 1) {
return 1;
}
return n * factorial(n - 1);
}
console.log(factorial(5)); // Output: 120
上面的代码定义了一个名为 factorial
的函数,该函数接受一个参数 n
,并返回 n
的阶乘。函数使用了递归调用的方式来计算阶乘,在递归调用中,函数会不断地调用自身,直到满足递归终止条件为止。
递归调用有一个重要的特点就是要有递归终止条件,也就是说,递归调用必须在某个时候终止。否则,递归调用会一直进行下去,导致程序陷入无限循环之中,最终导致程序崩溃。
在上面的示例中,递归终止条件是 n === 1
,当 n
等于 1 时,函数就不会再调用自身,而是直接返回 1。这样,递归调用就会在某个时候终止,程序就不会陷入无限循环之中。