【发布时间】:2016-09-19 02:37:22
【问题描述】:
这是一个查找阶乘的函数。当我添加 typeof 行时,问题出现了。代码如下:
function factorial(num) {
if ((typeof num) == "number") {
if (num < 0) {
error.innerHTML = "Choose a positive number or 0!";
}
else if (num == 1 || num == 0) {
return 1;
}
else {
return num * factorial(num - 1);
}
}
}
每当它被调用时,我都不会得到一个数字作为答案,而是得到“NaN”。
我正在尝试使用此代码计算排列:
Math.floor(factorial(n)/factorial(n-r));
它适用于正态阶乘,但不适用于该方程。
【问题讨论】:
-
我得到了正确答案。请在此处查看:jsfiddle.net/tc9cqeu4
-
它也适用于等式。 jsfiddle.net/tc9cqeu4/2。您传递的 n 和 r 变量的值是多少?能否请您添加缺少的代码?
-
如果传递负值,函数不返回数字。
标签: javascript nan