使用递归
function factorial(num) {
if (num < 0) {
return -1;
}
if (num === 0 || num === 1) {
return 1;
} else {
return (num * factorial(num - 1));
}
}
console.log(factorial(5));
// 120
使用for循环
function factorial(num) {
if (num < 0) {
return -1;
}
if (num === 0 || num === 1) {
return 0;
} else {
for (var i = num - 1; i >= 1; i--) {
num *= i;
}
}
return num;
}
console.log(factorial(5));
// 120
使用while循环
function factorial(num) {
var result = num;
if (num < 0) {
return -1;
}
if (num === 0 || num === 1) {
return 0;
} else {
while (num > 1) {
num--;
result *= num;
}
}
return result;
}
console.log(factorial(5));
// 120