我对这段代码有些困惑。当我进行递归调用时,每次调用时都会执行document.writeln()行吗?或者document.writeln()何时执行?无法理解JavaScript递归调用输出
<SCRIPT LANGUAGE = "JavaScript">
var a = [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 ];
someFunction(a, 0);
function someFunction(b, x)
{
if (x < b.length) {
someFunction(b, x + 1); //recursive call
document.writeln(b[ x ] + " ");
}
}
</SCRIPT>
谢谢。
什么是这里的递归函数的原因是什么?为什么不使用简单的'for()'循环? – h2ooooooo
这将以相反的顺序打印项目。如果你用'someFunction'和'document.write'交换行,它将按顺序打印这些项目。 – Halcyon
我只是想了解递归。我知道它可以通过使用带反向计数器的for循环完成,但无法理解递归。 – Zoubeir