随笔-91  评论-81  文章-2  trackbacks-3
  2008年7月31日

递归的感觉就像一层一层把盒子打开,打开到某一层时停止,再反方向一层一层的释放刚才层层打开盒子时保留的东东! 

题目:从1累加一直加到100的和是多少? 

非递归的循环写法:

1run: function()  {
2    var sum = 0;
3    for(var i=1;i<=100;i++{
4        sum = sum + i;
5    }

6    console.log(sum);
7}

递归写法:

var testCase = {
sum:
0,
run:
function(n) {
if(n>=100) {
return 100;
}
else {
sum
= n+ testCase.run(n+1);
return sum;
}
}
};
console.log(testCase.run(
1));

以上只是为了举例方便,实际上递归用于条件不明确而结果的范围明确的情况,循环用于条件明确已受限而结果范围不限的情况。像计算阶乘的情况用循环的优势明显!

posted @ 2008-07-31 12:57 George Wing 阅读(328) | 评论 (7)编辑