本文共 447 字,大约阅读时间需要 1 分钟。
Laymens条款:
递归函数是调用自身的函数
更深入一点:
如果函数继续调用自身,它怎么知道什么时候停止?您设置了一个条件,称为基本案例。基本情况告诉我们递归调用何时停止,否则会无限循环。
对我来说,一个很好的学习例子,因为我有一个强大的数学背景,是factorial.通过下面的评论,似乎阶乘函数可能有点太多,我会离开这里,以防万一你想。
function fact($n) {
if ($n === 0) { // our base case
return 1;
}
else {
return $n * fact($n-1); //
}
}
关于在Web开发中使用递归函数,我不亲自诉诸于使用递归调用。不是我认为这是坏的做法依赖递归,但他们不应该是你的第一选择。如果不正确使用它们可能是致命的。
虽然我不能与目录示例竞争,我希望这有帮助。
(4/20/10)更新:
这也将有助于检查这个问题,其中接受的答案用非专业术语表示递归函数如何工作。即使OP的问题涉及Java,这个概念是一样的,
转载地址:http://ijima.baihongyu.com/