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 相关文章推荐
在textarea文本域中显示HTML代码的方法
Mar 06 Javascript
Javascript基础教程之for循环
Jan 18 Javascript
JavaScript分页功能的实现方法
Apr 25 Javascript
js数组去重的5种算法实现
Nov 04 Javascript
JavaScript截取指定长度字符串点击可以展开全部代码
Dec 04 Javascript
基于jQuery实现美观且实用的倒计时实例代码
Dec 30 Javascript
jQuery操作Table技巧大汇总
Jan 23 Javascript
基于jQuery日历插件制作日历
Mar 11 Javascript
Vue实例简单方法介绍
Jan 20 Javascript
使用javascript做时间倒数读秒功能的实例
Jan 23 Javascript
p5.js码绘“跳动的小正方形”的实现代码
Oct 22 Javascript
在 Vue 中使用 JSX 及使用它的原因浅析
Feb 10 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
日本十大科幻动漫 宇宙骑士垫底,第一已成经典
2020/03/04 日漫
最新用php获取谷歌PR值算法,附上php查询PR值代码示例
2011/12/25 PHP
PHP flush()与ob_flush()的区别详解
2013/06/03 PHP
PHP限制页面只能在微信自带浏览器访问的代码
2014/01/15 PHP
php下pdo的mysql事务处理用法实例
2014/12/27 PHP
分享php多功能图片处理类
2016/05/15 PHP
PHP实现中国公民身份证号码有效性验证示例代码
2017/05/03 PHP
Laravel自定义 封装便捷返回Json数据格式的引用方法
2019/09/29 PHP
Javascript获取HTML静态页面参数传递值示例
2013/08/18 Javascript
webapp框架AngularUI的demo改造之路
2014/12/21 Javascript
使用js实现的简单拖拽效果
2015/03/18 Javascript
ECMAScript5(ES5)中bind方法使用小结
2015/05/07 Javascript
jquery实现文本框textarea自适应高度
2016/03/09 Javascript
javascript 判断页面访问方式电脑或者移动端
2016/09/19 Javascript
javascript滚轮控制模拟滚动条
2016/10/19 Javascript
vue实现页面加载动画效果
2017/09/19 Javascript
nodejs发送http请求时遇到404长时间未响应的解决方法
2017/12/10 NodeJs
AngularJS实现与后台服务器进行交互的示例讲解
2018/08/13 Javascript
vue-cli 使用vue-bus来全局控制的实例讲解
2018/09/15 Javascript
vue + typescript + video.js实现 流媒体播放 视频监控功能
2019/07/07 Javascript
Vue 用Vant实现时间选择器的示例代码
2019/10/25 Javascript
js实现图片上传到服务器和回显
2020/01/19 Javascript
Python警察与小偷的实现之一客户端与服务端通信实例
2014/10/09 Python
Python实现的简单hangman游戏实例
2015/06/28 Python
在阿里云服务器上配置CentOS+Nginx+Python+Flask环境
2016/06/18 Python
Python类的继承和多态代码详解
2017/12/27 Python
python3利用Dlib19.7实现人脸68个特征点标定
2018/02/26 Python
Django使用详解:ORM 的反向查找(related_name)
2018/05/30 Python
Flask框架Flask-Login用法分析
2018/07/23 Python
图解python全局变量与局部变量相关知识
2019/11/02 Python
html5 canvas简单封装一个echarts实现不了的饼图
2018/06/12 HTML / CSS
财务部副经理岗位职责范本
2014/06/17 职场文书
节水口号标语
2014/06/19 职场文书
法院反腐倡廉心得体会
2014/09/09 职场文书
乡镇机关党员民主评议表自我评价
2014/09/21 职场文书
SQL Server使用CROSS APPLY与OUTER APPLY实现连接查询
2022/05/25 SQL Server