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);
}