Это функция поиска факториала. Проблема возникла, когда я добавил строку typeof. Вот код:Почему я получаю NaN, когда я называю эту факториальную функцию?
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));
Это делает работу с нормальным факториалом, но не с этим уравнением.
Я получаю правильный ответ. Пожалуйста, проверьте здесь: https://jsfiddle.net/tc9cqeu4/ –
Он также работает с этим уравнением. https://jsfiddle.net/tc9cqeu4/2/. Каково значение n и r переменных, которые вы передаете? Не могли бы вы добавить отсутствующий код? –
Если вы передадите отрицательное значение, функция не вернет число. – ConnorsFan