【问题标题】:Writing a recursive JavaScript function returns "undefined"编写递归 JavaScript 函数返回“未定义”
【发布时间】:2015-04-19 14:23:40
【问题描述】:

我正在尝试学习 JS 中的递归函数,但由于某种原因,结果是 undefined 我想分别提醒 (4,3,2,1,0)。

function someFun(number) {
  if (number < 0) {
    return 1;
  } 
  else {
    alert(number = someFun(number - 1))
  }
}
someFun(4)

【问题讨论】:

    标签: javascript function recursive-datastructures


    【解决方案1】:

    您的函数中只有一个return 语句。当if语句的else路径被取走时,什么都不返回。

    也就是说,您真的不需要返回值,因为您只想打印数字序列(按降序顺序):

    function someFun(number) {
      if (number >= 0) {
        alert(number);
        someFun(number - 1);
      }
    }
    someFun(4);
    

    如果您希望以升序顺序打印数字,您只需颠倒alert() 和递归调用的顺序即可。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-01-21
      • 2012-09-26
      相关资源
      最近更新 更多