Для назначения я должен написать рекурсивную функцию, которая проверяет любое целое число для четного или нечетного с использованием N-2. Если даже возвращает true, else возвращает false. Но он возвращает undefined всякий раз, когда значение достаточно велико, чтобы называть себя. Пожалуйста помоги!Простая рекурсивная функция Javascript Возвращает Undefined
function isEven(num) {
console.log("top of function num = " + num);// For Debugging
if (num == 0){
return true;
}
else if (num == 1){
return false;
}
else {
num -= 2;
console.log("num = " + num);
isEven(num);
}
}
console.log(isEven(0));
// → true
console.log(isEven(1));
// → false
console.log(isEven(8));
// → ??
Console Log Результаты:
top of function num = 0
true
top of function num = 1
false
top of function num = 8
num = 6
top of function num = 6
num = 4
top of function num = 4
num = 2
top of function num = 2
num = 0
top of function num = 0
undefined
Ваш 'else' случай' isEven' никогда не возвращает значение. –
Остальное действительно нужно вернуть значение! – Robba
Отличная домашняя работа, объясняя вам неправильные способы использования рекурсивной функции. Вместо этого используйте модуль. – Xorifelse