作家
登录

JavaScript 语言的递归编程

作者: 来源:www.28hudong.com 2013-03-30 01:34:38 阅读 我要评论

题目:从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

关键词: 探索发现

乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

网友点评
自媒体专栏

评论

热度

精彩导读
栏目ID=71的表不存在(操作类型=0)