简介
在本实验中,我们将学习如何使用 JavaScript 中的递归计算一个数的阶乘。我们还将学习如何在输入为负数时抛出 TypeError。在本实验结束时,你将对递归以及如何使用它来解决数学问题有更深入的理解。
计算一个数的阶乘
要计算一个数的阶乘,请遵循以下步骤:
- 打开终端/SSH 并输入
node以开始练习编码。 - 使用递归计算阶乘。
- 如果
n小于或等于1,则返回1。 - 否则,返回
n与n - 1的阶乘的乘积。 - 如果
n是负数,则抛出TypeError。
以下是计算阶乘的代码:
const factorial = (n) =>
n < 0
? (() => {
throw new TypeError("Negative numbers are not allowed!");
})()
: n <= 1
? 1
: n * factorial(n - 1);
你可以通过将一个数字作为参数调用 factorial 函数来测试代码:
factorial(6); // 720
总结
恭喜你!你已经完成了“数字阶乘”实验。你可以在 LabEx 中练习更多实验来提升你的技能。