用javascript写一个递归函数
时间: 2024-05-11 12:13:42 浏览: 8
以下是一个递归函数的例子:
```
function factorial(num) {
if (num === 0) { // base case
return 1;
} else { // recursive case
return num * factorial(num - 1);
}
}
console.log(factorial(5)); // 输出120
```
这个函数接受一个数字作为参数,并计算它的阶乘。在递归调用中,每次将传入的数字减1,并将结果乘以当前数字,直到数字为0时停止递归。
相关问题
使用JavaScript写一个递归函数
好的,下面是一个使用JavaScript语言编写的递归函数,它可以计算一个整数的阶乘:
```javascript
function factorial(num) {
if (num === 0 || num === 1) {
return 1;
} else {
return num * factorial(num - 1);
}
}
```
这个函数首先检查传入的参数是否为0或1,如果是,则返回1。否则,它将递归调用自己,并将传入的参数减去1作为新的参数,直到参数为0或1为止。在每个递归步骤中,函数都会将传入的参数与递归调用的结果相乘,并返回相乘的结果。这样,最终的返回值就是输入整数的阶乘。
用Javascript写一个递归
当然可以!以下是一个使用JavaScript编写的递归函数示例,用于计算一个数字的阶乘:
```javascript
function factorial(n) {
if (n === 0) {
return 1;
} else {
return n * factorial(n - 1);
}
}
// 示例调用
console.log(factorial(5)); // 输出:120
```
在这个示例中,函数 `factorial` 接收一个参数 `n`,如果 `n` 等于0,则返回1。否则,它将调用自身,传入 `n - 1` 的值,并将结果与 `n` 相乘,最终返回阶乘结果。
请注意,递归函数必须包含一个停止条件,以避免无限循环。在阶乘的例子中,停止条件是 `n === 0`,当满足该条件时,递归将停止并返回结果。