题目:从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)); 上面这种代码在网上一搜就一大堆,下面的写法与它等价: 复制代码 代码如下: console.log((function(n){ var sum=0; if(n<=1){ return 1; } else{ sum = arguments.callee(n-1)+n; return sum; } })(100)); 这样的写法便于学习。以上是线性递归,作为递归入门的话还行,算法的性能效率就烂了些,不作考虑。
推荐阅读
js 图片放大效果 修正版
首先:我们需要一个可以移动的DIV 复制代码 代码如下:<div style="border:1px solid #CCC;position:absolute; width:200px; height:100px; cursor:move;" id="jelle_test_divquot;> 这个DIV 可以移动,你可以测试下>>>详细阅读
本文标题:JavaScript 语言的递归编程
地址:http://www.17bianji.com/kaifa2/JS/26356.html
1/2 1