JavaScript 语言的递归编程


Posted in Javascript onMay 18, 2010

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

这样的写法便于学习。以上是线性递归,作为递归入门的话还行,算法的性能效率就烂了些,不作考虑。
Javascript 相关文章推荐
利用腾讯的ip地址库做ip物理地址定位
Jul 24 Javascript
jQuery根据纬度经度查看地图处理程序
May 08 Javascript
js判断选择时间不能小于当前时间的示例代码
Sep 24 Javascript
用jquery仿做发微博功能示例
Apr 18 Javascript
Jquery节点遍历next与nextAll方法使用示例
Jul 22 Javascript
JavaScript中的this机制
Jan 30 Javascript
javascript实现的猜数小游戏完整实例代码
May 10 Javascript
js实现QQ面板拖拽效果(慕课网DOM事件探秘)(全)
Sep 19 Javascript
使用typescript开发angular模块并发布npm包
Apr 19 Javascript
JS中‘hello’与new String(‘hello’)引出的问题详解
Aug 14 Javascript
微信小程序生成海报分享朋友圈的实现方法
May 06 Javascript
解决Antd Table组件表头不对齐的问题
Oct 27 Javascript
JS 树形递归实例代码
May 18 #Javascript
document.getElementById方法在Firefox与IE中的区别
May 18 #Javascript
基于jQuery的固定表格头部的代码(IE6,7,8测试通过)
May 18 #Javascript
Javascript中的变量使用说明
May 18 #Javascript
Javascript实现的鼠标经过时播放声音
May 18 #Javascript
JavaScript 继承机制的实现(待续)
May 18 #Javascript
JavaScript 面向对象编程(2) 定义类
May 18 #Javascript
You might like
PHP 模板高级篇总结
2006/12/21 PHP
php入门学习知识点八 PHP中for循环基本应用之九九乘法口绝表
2011/07/14 PHP
php多层数组与对象的转换实例代码
2013/08/05 PHP
50个PHP程序性能优化的方法
2014/06/02 PHP
php与python实现的线程池多线程爬虫功能示例
2016/10/12 PHP
js 在定义的时候立即执行的函数表达式(function)写法
2013/01/16 Javascript
获取offsetTop和offsetLeft值的js代码(兼容)
2013/04/16 Javascript
jQuery学习笔记之jQuery中的$
2015/01/19 Javascript
JavaScript学习笔记之基础语法
2015/01/22 Javascript
JavaScript基础篇(6)之函数表达式闭包
2015/12/11 Javascript
js密码强度实时检测代码
2016/03/02 Javascript
JS中判断null的方法分析
2016/11/21 Javascript
微信小程序实现图片自适应(支持多图)
2017/01/25 Javascript
HTML5实现微信拍摄上传照片功能
2017/04/21 Javascript
NodeJs安装npm包一直失败的解决方法
2017/04/28 NodeJs
基于JS实现仿京东搜索栏随滑动透明度渐变效果
2017/07/10 Javascript
js判断传入时间和当前时间大小实例(超简单)
2018/01/11 Javascript
js中的 || 与 &amp;&amp; 运算符详解
2018/05/24 Javascript
优化Vue项目编译文件大小的方法步骤
2019/05/27 Javascript
vue 解决addRoutes多次添加路由重复的操作
2020/08/04 Javascript
vue动态合并单元格并添加小计合计功能示例
2020/11/26 Vue.js
python批量修改文件后缀示例代码分享
2013/12/24 Python
Python CSV模块使用实例
2015/04/09 Python
python爬虫学习笔记之Beautifulsoup模块用法详解
2020/04/09 Python
Tensorflow tensor 数学运算和逻辑运算方式
2020/06/30 Python
关于python3.7安装matplotlib始终无法成功的问题的解决
2020/07/28 Python
浅析border-radius如何兼容IE
2016/04/19 HTML / CSS
MCAKE蛋糕官方网站:一直都是巴黎的味道
2018/02/06 全球购物
波兰在线运动商店:YesSport
2020/07/23 全球购物
护士实习生自我鉴定范文
2013/12/10 职场文书
幼儿园2014年度工作总结
2014/11/10 职场文书
2014年工程部工作总结
2014/11/25 职场文书
小学教师见习总结
2015/06/23 职场文书
认识实习感想
2015/08/10 职场文书
导游词之江南周庄
2019/12/06 职场文书
python爬虫--selenium模块
2021/03/31 Python