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 相关文章推荐
Javascript 的addEventListener()及attachEvent()区别分析
May 21 Javascript
js数组方法扩展实现数组统计函数
Apr 09 Javascript
javascript引擎长时间独占线程造成卡顿的解决方案
Dec 03 Javascript
信息页文内画中画广告js实现代码(文中加载广告方式)
Jan 03 Javascript
针对BootStrap中tabs控件的美化和完善(推荐)
Jul 06 Javascript
利用浮层使select不可选的实现方法
Dec 03 Javascript
jquery append与appendTo方法比较
May 24 jQuery
layer插件select选中默认值的方法
Aug 14 Javascript
vue-cli3+typescript新建一个项目的思路分析
Aug 06 Javascript
react中hook介绍以及使用教程
Dec 11 Javascript
javascript实现倒计时关闭广告
Feb 09 Javascript
vue打包时去掉所有的console.log
Apr 10 Vue.js
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
3种平台下安装php4经验点滴
2006/10/09 PHP
在数据量大(超过10万)的情况下
2007/01/15 PHP
thinkPHP5框架auth权限控制类与用法示例
2018/06/12 PHP
workerman结合laravel开发在线聊天应用的示例代码
2018/10/30 PHP
PHP Swoole异步读取、写入文件操作示例
2019/10/24 PHP
js获取html参数及向swf传递参数应用介绍
2013/02/18 Javascript
javascrip关于继承的小例子
2013/05/10 Javascript
浅析document.ready和window.onload的区别讲解
2013/12/18 Javascript
JavaScript怎么判断图片是否加载完成以便获取其尺寸
2014/05/08 Javascript
JavaScript 开发工具webstrom使用指南
2014/12/09 Javascript
jQuery中:last选择器用法实例
2014/12/30 Javascript
angularJS提交表单(form)
2015/02/09 Javascript
jQuery实现预加载图片的方法
2015/03/17 Javascript
JQuery分屏指示器图片轮换效果实例
2015/05/21 Javascript
Bootstrap每天必学之基础排版
2015/11/20 Javascript
jQuery实现广告条滚动效果
2017/08/22 jQuery
Vue中CSS动画原理的实现
2019/02/13 Javascript
layui下拉框获取下拉值(select)的例子
2019/09/10 Javascript
详细解析Python中的变量的数据类型
2015/05/13 Python
Django基础之Model操作步骤(介绍)
2017/05/27 Python
python GUI实例学习
2017/11/21 Python
Python中使用支持向量机(SVM)算法
2017/12/26 Python
python实现同一局域网下传输图片
2020/03/20 Python
异步传递消息系统的作用
2016/05/01 面试题
人事专员的职责
2014/02/26 职场文书
畜牧兽医本科生的自我评价
2014/03/03 职场文书
2014两会学习心得:榜样精神伴我行
2014/03/17 职场文书
2014年文学毕业生自我鉴定
2014/04/23 职场文书
企业员工爱岗敬业演讲稿
2014/08/26 职场文书
2014年财务工作总结与计划
2014/12/08 职场文书
2015年企业新年寄语
2014/12/08 职场文书
2015年度个人工作总结报告
2015/10/24 职场文书
2016年基层党组织公开承诺书
2016/03/25 职场文书
关于拾金不昧的感谢信(五篇)
2019/10/18 职场文书
Python通过m3u8文件下载合并ts视频的操作
2021/04/16 Python
Python Django ORM连表正反操作技巧
2021/06/13 Python