對於一個任務,我應該寫一個遞歸函數,檢查使用N-2的任何整數的偶數或奇數。如果甚至返回true,否則返回false。但是隻要一個值足夠大就可以調用自己,它就會返回undefined。請幫忙!簡單的遞歸Javascript函數返回未定義
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));
// → ??
控制檯登錄結果:
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
你''中從未isEven'返回一個值else'情況。 –
其他人確實需要返回一個值! – Robba
偉大的功課教你使用遞歸功能的錯誤方法。改用模數。 – Xorifelse