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 相关文章推荐
JS实现FLASH幻灯片图片切换效果的方法
Mar 04 Javascript
JavaScript中setUTCFullYear()方法的使用简介
Jun 12 Javascript
JS字符串的切分用法实例
Feb 22 Javascript
JavaScript中实现无缝滚动、分享到侧边栏实例代码
Apr 06 Javascript
Html5 js实现手风琴效果
Apr 17 Javascript
JS开发中百度地图+城市联动实现实时触发查询地址功能
Apr 13 Javascript
jquery.uploadifive插件怎么解决上传限制图片或文件大小问题
May 08 jQuery
Angularjs过滤器实现动态搜索与排序功能示例
Dec 13 Javascript
nuxt踩坑之Vuex状态树的模块方式使用详解
Sep 06 Javascript
vue总线机制(bus)知识点详解
May 10 Javascript
解决vue与node模版引擎的渲染标记{{}}(双花括号)冲突问题
Sep 11 Javascript
Element-ui Layout布局(Row和Col组件)的实现
Dec 06 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
PHP判断是否微信访问的方法示例
2019/03/27 PHP
Javascript快速排序算法详解
2014/12/03 Javascript
谷歌浏览器调试JavaScript小技巧
2014/12/29 Javascript
Javascript实现的Map集合工具类完整实例
2015/07/31 Javascript
JavaScript计算某一天是星期几的方法
2015/08/05 Javascript
JS代码随机生成姓名、手机号、身份证号、银行卡号
2016/04/27 Javascript
深入解析Javascript闭包的功能及实现方法
2016/07/10 Javascript
获取JavaScript异步函数的返回值
2016/12/21 Javascript
强大的 Angular 表单验证功能详细介绍
2017/05/23 Javascript
详解react使用react-bootstrap当轮子造车
2017/08/15 Javascript
利用Node.js了解与测量HTTP所花费的时间详解
2017/09/22 Javascript
JavaScript实现离开页面前提示功能【附jQuery实现方法】
2017/09/26 jQuery
Vue使用json-server进行后端数据模拟功能
2018/04/17 Javascript
React Native基础入门之调试React Native应用的一小步
2018/07/02 Javascript
vue 监听某个div垂直滚动条下拉到底部的方法
2018/09/15 Javascript
浅谈layer弹出层按钮颜色修改方法
2019/09/11 Javascript
js简单的分页器插件代码实例
2019/09/11 Javascript
vue+element导航栏高亮显示的解决方式
2019/11/12 Javascript
koa中间件核心(koa-compose)源码解读分析
2020/06/15 Javascript
Python代码调试的几种方法总结
2015/04/15 Python
利用Python操作消息队列RabbitMQ的方法教程
2017/07/19 Python
Python实现基于二叉树存储结构的堆排序算法示例
2017/12/08 Python
tensorflow的计算图总结
2020/01/12 Python
旅游管理专业学生求职信
2013/09/28 职场文书
幼儿园实习自我鉴定
2013/12/15 职场文书
参观监狱心得体会
2014/01/02 职场文书
工作鉴定评语
2014/05/04 职场文书
出国英文推荐信
2014/05/10 职场文书
优秀乡村医生事迹材料
2014/05/28 职场文书
学校督导评估方案
2014/06/10 职场文书
党课培训心得体会
2014/09/02 职场文书
没有孩子的离婚协议书怎么写
2014/09/17 职场文书
2014年节能减排工作总结
2014/12/06 职场文书
旅游投诉信范文
2015/07/02 职场文书
2019年自助餐厅创业计划书模板
2019/08/22 职场文书
公文写作:工伤事故分析报告怎么写?
2019/11/05 职场文书