Javascript 程序产生未定义(递归)

标签 javascript

大家好,我是一个学习Js的新手 我正在尝试学习递归,但我卡在这里

var isEven = (number) =>{
  number = Number(number)
  if(number === 0){
    console.log('it is even')
    return true;
  }
  else if(number === 1){
    return false;
  }
  else{
    number = number - 2;
    isEven(number);
  }
}

console.log(isEven(50) === true)

为什么最终结果变得不确定?谢谢您的帮助

最佳答案

在递归调用中添加返回:

function isEven(number){
  number = Number(number)
  if(number === 0){
    console.log('it is even');
    return true;
  }
  else if(number === 1){
    return false;
  }
  else{
    number = number - 2;
    return isEven(number);
  }
}

console.log(isEven(50));

关于Javascript 程序产生未定义(递归),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51645058/

相关文章:

javascript - 如何在javascript中将文件移动到drive api v3中的垃圾桶?

php - 获取 JSON - JQuery 和 PHP

javascript - Vue.js setTimeout 函数在一定时间后播放音频

javascript - 使用 AJAX 和 JSON 从数据库中获取和显示数据时在 innerHTML 中未定义

Javascript正则表达式-包含列表中任意顺序的单词和单词

javascript - 带小数和单位的负/正值

javascript - 按值获取数组索引

javascript - 使用 jQuery 进行渐变填充?

Javascript,根据高度改变宽度

javascript - mongodb如何动态创建数据库/集合