时间:2021-07-01 10:21:17 帮助过:7人阅读
function a(x){
if(x<=1) return 1;
else return x*a(x-1);
}
例一是一个嵌套函数,让我们来找一下二个把柄:if(x<=1) return 1;这是终止条件,当x<=1时终止,else return x*a(x-1);这是增量,每次嵌套调用函数a()时参数都会减1。
所以这个例子也可以像例二中那样转换成一个循环体。
例二:
代码如下:
function a(x){
if(x<=1) return 1;
else{
var m=1;
for(var i=2;i<=x;i++){
m*=i;
}
return m;
}
}
如例二所示,嵌套函数就是要实现这样的循环。
例三:
代码如下:
function a(x){
if(x<=1) return 1;
else{
x--;
return (x+1)*a(x);
}
}
如例三,只要我们在嵌套函数中确定了二个把柄,放在哪里没关系都可以实现函数的嵌套,显然这样写没有例一那么好,是这样的。