【发布时间】:2018-12-21 10:03:10
【问题描述】:
我正在尝试从这里做一个练习https://www.w3resource.com/javascript-exercises/javascript-recursion-function-exercise-7.php
我了解解决方案,但是,我有点好奇为什么我的程序没有产生与上述相同的答案。我选择返回函数的方式略有不同,但是,它产生一个数字而不是真或假。
function checkeven(num) {
if (num === 0) {
return true;
} else if (num === 1) {
return false;
} else {
console.log(num);
return num - checkEven(num - 2);
}
}
console.log(checkeven(8));
console.log(checkeven(9));
【问题讨论】:
-
你终于减去了一个布尔值。使用减法后,您期望哪个值?
-
return num - checkeven(num - 2)->return checkeven(num - 2) -
return num - checkeven(num - 2);应该是return checkeven(num - 2); -
Improve this sample solution不要使用递归,:) -
我见过的最奇怪的递归用例
标签: javascript function recursion