代入のために、N-2を使用して偶数または奇数の整数をチェックする再帰関数を書くことになっています。 trueの場合でもtrueを返した場合はfalseが返されます。しかし、値が自分自身を呼び出すのに十分な大きさであれば、それは未定義を返します。助けてください!単純な再帰的な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
:
は以下のスニペットを参照してください。 –
elseは本当に値を返す必要があります! – Robba
再帰関数を使う間違ったやり方を教えてくれる素晴らしい宿題。代わりにモジュラスを使用してください。 – Xorifelse