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 检测、添加、移除样式(className)函数代码
Sep 08 Javascript
jquery对元素拖动排序示例
Jan 16 Javascript
深入理解JavaScript单体内置对象
Jun 06 Javascript
深入浅析JS Function()构造函数
Aug 22 Javascript
jquery 抽奖小程序实现代码
Oct 12 Javascript
在js代码拼接dom对象到页面上去的模板总结(必看)
Feb 14 Javascript
JavaScript实现经纬度转换成地址功能
Mar 28 Javascript
使用重写url机制实现验证码换一张功能
Aug 01 Javascript
前端必备插件之纯原生JS的瀑布流插件Macy.js
Nov 22 Javascript
React Native 自定义下拉刷新上拉加载的列表的示例
Mar 01 Javascript
vue实现微信分享功能
Nov 28 Javascript
vue页面引入three.js实现3d动画场景操作
Aug 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
PHP获取MSN好友列表类的实现代码
2013/06/23 PHP
PHP mail()函数使用及配置方法
2014/01/14 PHP
PHP静态成员变量
2017/02/14 PHP
PHP Trait代码复用类与多继承实现方法详解
2019/06/17 PHP
javascript fullscreen全屏实现代码
2009/04/09 Javascript
页面中body onload 和 window.onload 冲突的问题的解决
2009/07/01 Javascript
js 连接数据库如何操作数据库中的数据
2012/11/23 Javascript
js函数在frame中的相互调用详解
2014/03/03 Javascript
node.js中的favicon.ico请求问题处理
2014/12/15 Javascript
jQuery轻松实现表格的隔行变色和点击行变色的实例代码
2016/05/09 Javascript
node.js利用redis数据库缓存数据的方法
2017/03/01 Javascript
深入研究jQuery图片懒加载 lazyload.js使用方法
2017/08/16 jQuery
老生常谈JavaScript面向对象基础与this指向问题
2017/10/16 Javascript
JS实现将对象转化为数组的方法分析
2019/01/21 Javascript
详解Vue 匿名、具名和作用域插槽的使用方法
2019/04/22 Javascript
Smartour 让网页导览变得更简单(推荐)
2019/07/19 Javascript
微信小程序 确认框的实现(附代码)
2019/07/23 Javascript
Openlayers实现扩散的动态点(水纹效果)
2020/08/17 Javascript
[01:20:47]DOTA2-DPC中国联赛 正赛 Ehome vs Magma BO3 第一场 1月19日
2021/03/11 DOTA
使用python实现正则匹配检索远端FTP目录下的文件
2015/03/25 Python
在Python中处理时间之clock()方法的使用
2015/05/22 Python
Python正则表达式匹配中文用法示例
2017/01/17 Python
详解Python pygame安装过程笔记
2017/06/05 Python
使用Python和xlwt向Excel文件中写入中文的实例
2018/04/21 Python
python获取文件路径、文件名、后缀名的实例
2018/04/23 Python
Python 添加文件注释和函数注释操作
2020/08/09 Python
python自动化办公操作PPT的实现
2021/02/05 Python
canvas实现图片马赛克的示例代码
2018/03/26 HTML / CSS
Servlet的实例是在生命周期什么时候创建的?配置servlet最重要的是什么?
2012/05/30 面试题
阿德的梦教学反思
2014/02/06 职场文书
税务会计岗位职责
2014/02/18 职场文书
绿色小区申报材料
2014/08/22 职场文书
初中生旷课检讨书范文
2014/10/06 职场文书
小学班主任经验交流材料
2014/12/16 职场文书
MySql存储过程之逻辑判断和条件控制
2021/05/26 MySQL
JavaScript实现栈结构详细过程
2021/12/06 Javascript