请帮助我了解此递归函数...
var stack = Array;
function power(base, exponent){
if ( exponent === 0 ) {
return 1;
} else {
stack[exponent-1] = base * power(base, exponent - 1);
return stack[exponent-1];
}
}
我不明白
stack[exponent-1]
在做什么 最佳答案
我使用以下命令完成了stack [exponent-1]的控制台日志
var stack = Array;
function power(base, exponent){
if ( exponent === 0 ) {
return 1;
} else {
stack[exponent-1] = base * power(base, exponent - 1);
console.log(stack[exponent-1]);return stack[exponent-1];
}
}
O / P:
power(2,5)
2
4
8
16
32
因此,函数类递归直到指数变为0(第n次调用),然后它将开始返回结果
first it will return 1 (because exponent is 0)
then returns 2 * 1 (return of n call)
then 2 * 2 (return of n-1 call)
then 2 * 4 (return of n-2 call) and so on
关于javascript - JavaScript中的递归函数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9992177/