JavaScript 中可以使用递归函数来解决重复计算的问题。递归函数一般有两部分组成:基线条件和递归条件。基线条件是指函数达到的最小规模,在这个条件下,函数不再调用自身。递归条件则是指函数调用自身的条件。
要判断递归是否结束,可以在基线条件处返回结果,在递归条件处调用函数本身。下面是一个简单的例子:
function factorial(n) {
if (n === 1) {
return 1; // 基线条件
} else {
return n * factorial(n - 1); // 递归条件
}
}
在这个例子中,基线条件是 n
等于 1
,也就是说,当函数的参数 n
等于 1
时,函数不再调用自身。递归条件则是 n
大于 1
的情况。
当递归函数的参数达到基线条件时,函数就会停止调用自身,并返回结果。在这个例子中,当 n
等于 1
时,函数会返回 1
,递归结束。