我只是在阅读Eloquent JS,因此决定做一些练习。
基本上,我正在尝试创建一个无需使用%
即可检查偶数的程序。偶数打印true
和奇数打印false
。
function isEven(n) {
if (n < 0)
n = -n;
if (n == 2)
return true;
if (n == 1)
return false;
if (n > 2)
isEven(n - 2);
}
然而:
console.log(isEven(50));
// → undefined
console.log(isEven(75));
// → undefined
console.log(isEven(-1));
// → false
我尝试在函数中的
console.log
中滑倒,但找不到问题:/function isEven(n) {
document.write(n + "<br>");
if (n < 0)
n = -n;
if (n == 2)
return true;
if (n == 1)
return false;
if (n > 2)
isEven(n - 2);
}
document.write(isEven(50) + "<br>");
// → true
document.write(isEven(75) + "<br>");
// → false
document.write(isEven(-1) + "<br>");
// → ??
最佳答案
您忘记返回最后一个isEven(n - 2);
。
function isEven(n) {
if (n < 0)
n = -n;
if (n == 2)
return true;
if (n == 1)
return false;
if (n > 2)
return isEven(n - 2);
}