递归
来源:互联网 发布: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);}