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 容错处理代码, 屏蔽错误信息
Mar 09 Javascript
JavaScript格式化数字的函数代码
Nov 30 Javascript
JS面向对象编程浅析
Aug 28 Javascript
基于jquery实现的一个选择中国大学的弹框 (数据、步骤、代码)
Jul 26 Javascript
jQuery学习笔记之2个小技巧
Jan 19 Javascript
JQuery中属性过滤选择器用法实例分析
May 18 Javascript
Jquery中request和request.form和request.querystring的区别
Nov 26 Javascript
JavaScript实现仿Clock ISO时钟
Jun 29 Javascript
微信小程序实现点赞、取消点赞功能
Nov 02 Javascript
基于vue实现一个神奇的动态按钮效果
May 15 Javascript
简单了解常用的JavaScript 库
Jul 16 Javascript
TypeScript 内置高级类型编程示例
Sep 23 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 获取时间今天明天昨天时间戳的详解
2013/06/20 PHP
PHP之autoload运行机制实例分析
2014/08/28 PHP
我整理的PHP 7.0主要新特性
2016/01/07 PHP
ThinkPHP设置禁止百度等搜索引擎转码(简单实用)
2016/02/15 PHP
微信支付开发维权通知实例
2016/07/12 PHP
Javascript 表单之间的数据传递代码
2008/12/04 Javascript
超级24小时弹窗代码 24小时退出弹窗代码 100%弹窗代码(IE only)
2010/06/11 Javascript
JavaScript 原型学习总结
2010/10/29 Javascript
jquery动态添加删除div 具体实现
2013/07/20 Javascript
分享9个最好用的JavaScript开发工具和代码编辑器
2015/03/24 Javascript
JS实现自动变换的菜单效果代码
2015/09/09 Javascript
JavaScript实现iframe自动高度调整和不同主域名跨域
2016/02/27 Javascript
JS递归遍历对象获得Value值方法技巧
2016/06/14 Javascript
基于Phantomjs生成PDF的实现方法
2016/11/07 Javascript
JS实现页面中所有img对象添加onclick事件及新窗口查看图片的方法
2016/12/27 Javascript
js的函数的按值传递参数(实例讲解)
2017/11/16 Javascript
vue多页面开发和打包正确处理方法
2018/04/20 Javascript
JS实现字符串中去除指定子字符串方法分析
2018/05/17 Javascript
基于vue实现移动端圆形旋钮插件效果
2018/11/28 Javascript
微信小程序实现Session功能及无法获取session问题的解决方法
2019/05/07 Javascript
详解vue或uni-app的跨域问题解决方案
2020/02/21 Javascript
jQuery实现推拉门效果
2020/10/19 jQuery
[38:23]完美世界DOTA2联赛循环赛 FTD vs PXG BO2第二场 11.01
2020/11/02 DOTA
TensorFlow损失函数专题详解
2018/04/26 Python
如何优雅地改进Django中的模板碎片缓存详解
2018/07/04 Python
python+selenium select下拉选择框定位处理方法
2019/08/24 Python
Jupyter 无法下载文件夹如何实现曲线救国
2020/04/22 Python
Idea安装python显示无SDK问题解决方案
2020/08/12 Python
python 爬虫爬取京东ps4售卖情况
2020/12/18 Python
Canvas绘制浮动球效果的示例
2017/12/29 HTML / CSS
HTML5实现移动端弹幕动画效果
2019/08/01 HTML / CSS
公司运动会策划方案
2014/05/25 职场文书
烹饪大赛策划方案
2014/05/26 职场文书
学风建设演讲稿
2014/09/12 职场文书
党员干部形式主义个人整改措施
2014/09/17 职场文书
python实现MD5进行文件去重的示例代码
2021/07/09 Python