递归

来源:互联网 发布:list<map>转json 编辑:程序博客网 时间:2024/06/07 16:11

1、利用递归求等差数列

function dengCha( v0, d, n ){    if( n < 1 ){        return undefined;    }    if( n === 1 ){        return v0;    }    else{        return dengCha( v0, d, n - 1 ) + d;    }}

2、利用递归求斐波那契数列(性能低:每次得到当前的结果,就要求上两次的结果)

function fib( n ){    if( n < 1 ){        return undefined;    }    if( n === 1 || n === 2 ){        return 1;    }    else{        return fib( n - 1 ) + fib( n - 2 );    }}

3、利用递归求子元素

function getChildren(dom) {    var ret = [];    var node;    node = dom.firstChild    for (  ;  node;   node = node.nextSibling) {        if (node.nodeType === 1) {            ret.push(node);            if (node.firstChild) {                ret.push(  getChildren( node )  );            }        }    }    return ret.concat.apply([], ret);}
原创粉丝点击