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的闭包
Dec 31 Javascript
JavaScript类和继承 constructor属性
Mar 04 Javascript
Node.js开发指南中的简单实例(mysql版)
Sep 17 Javascript
为指定的元素添加遮罩层的示例代码
Jan 15 Javascript
JavaScript驾驭网页-CSS与DOM
Mar 24 Javascript
浅谈$('div a') 与$('div&gt;a')的区别
Jul 18 Javascript
JS实现AES加密并与PHP互通的方法分析
Apr 19 Javascript
vue2.0中click点击当前li实现动态切换class
Jun 21 Javascript
mongoose更新对象的两种方法示例比较
Dec 19 Javascript
jQuery pjax 应用简单示例
Sep 20 jQuery
Vue 引入AMap高德地图的实现代码
Apr 29 Javascript
使用JavaScrip模拟实现仿京东搜索框功能
Oct 16 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 array_walk() 数组函数
2011/07/12 PHP
PHP禁止页面缓存的代码
2011/10/23 PHP
PHP学习笔记之字符串编码的转换和判断
2014/05/22 PHP
不安全的常用的js写法
2009/09/15 Javascript
JavaScript iframe的相互操作浅析
2009/10/14 Javascript
js判断IE浏览器版本过低示例代码
2013/11/22 Javascript
js控制href内容的连接内容的变化示例
2014/04/30 Javascript
node.js中使用node-schedule实现定时任务实例
2014/06/03 Javascript
jquery实现公告翻滚效果
2015/02/27 Javascript
使用Node.js配合Nginx实现高负载网络
2015/06/28 Javascript
实现非常简单的js双向数据绑定
2015/11/06 Javascript
微信小程序中的swiper组件详解
2017/04/14 Javascript
微信小程序发送短信验证码完整实例
2019/01/07 Javascript
Vue中遍历数组的新方法实例详解
2019/07/21 Javascript
layer.confirm点击第一个按钮关闭弹出框的方法
2019/09/09 Javascript
详解从vue-loader源码分析CSS Scoped的实现
2019/09/23 Javascript
Javascript var变量删除原理及实现
2020/08/26 Javascript
rhythmbox中文名乱码问题解决方法
2008/09/06 Python
Python实现从百度API获取天气的方法
2015/03/11 Python
python操作ie登陆土豆网的方法
2015/05/09 Python
玩转python爬虫之正则表达式
2016/02/17 Python
Python的语言类型(详解)
2017/06/24 Python
go和python变量赋值遇到的一个问题
2017/08/31 Python
关于Django显示时间你应该知道的一些问题
2017/12/25 Python
python按时间排序目录下的文件实现方法
2018/10/17 Python
Python使用__new__()方法为对象分配内存及返回对象的引用示例
2019/09/20 Python
通过实例解析Python调用json模块
2019/12/11 Python
python实现感知机模型的示例
2020/09/30 Python
pandas使用函数批量处理数据(map、apply、applymap)
2020/11/27 Python
5 个强大的HTML5 API 函数推荐
2014/11/19 HTML / CSS
自我鉴定注意事项
2014/01/19 职场文书
承诺书的格式范文
2014/03/28 职场文书
抽奖活动主持词
2014/03/31 职场文书
环境保护标语
2014/06/20 职场文书
教师评职称工作总结2015
2015/04/20 职场文书
Python 循环读取数据内存不足的解决方案
2021/05/25 Python