这个递归javascript函数有什么问题?[JS]

这个递归javascript函数有什么问题?[JS],javascript,recursion,Javascript,Recursion,大家好,我正试图制作一个程序,以便在一个数字使用递归调用时输出。有谁能告诉我为什么它不能像我期望的那样工作 const isEven = num => { if (num === 0) return true; else if (num === 1) return false; //console.log(num); isEven(num-2); } isEven(16); // Epected Log: 0 but instead it returns undefine

大家好,我正试图制作一个程序,以便在一个数字使用递归调用时输出。有谁能告诉我为什么它不能像我期望的那样工作

const isEven = num => {
  if (num === 0) return true;
  else if (num === 1) return false;
  //console.log(num);
  isEven(num-2);
}

isEven(16); // Epected Log: 0 but instead it returns undefined

因为对于不同于0或1的参数,没有返回值。最后一行:

  isEven(num-2);
应该是

  return isEven(num-2);

您没有返回值

更改:

isEven(num-2);
致:


您没有返回isEven(num-2)的返回值。谢谢您Jeremy:)@phortela1n:别担心;这是一个很常见的错误。“递归”标签中有很多很多问题都有相同的问题。
return isEven(num-2);