返回函数值javascript递归

时间:2015-10-15 11:20:04

标签: javascript recursion

https://jsfiddle.net/qbge5qse/47/

使用此函数的递归返回值。功能中只允许一个参数。此外,不允许在函数之外的全局变量。

1 个答案:

答案 0 :(得分:0)

使用带有两个参数的代码,假设它是正确的,就像这样作弊

function f(x) {
    function inner(n, i) { 
        if (n>0) { 
            return (( n / (1 + i)) + inner(n-1, i+1) ); 
        }
        else {
            return 0;
        } 
    }
    return inner(x);
}

或者你当然可以这样做

function test(o) {
    if (typeof o == 'number') {
        o = { i: 0, n: o };
    }
    if (o.n > 0) {
        return ((o.n / (1 + o.i)) + test({ n: o.n - 1, i: o.i + 1 }));
    } else {
        return 0;
    }
}