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小框架 fly javascript framework
Nov 26 Javascript
jquery修改属性值实例代码(设置属性值)
Jan 06 Javascript
jQuery使用zTree插件实现树形菜单和异步加载
Feb 25 Javascript
浅谈JavaScript中的分支结构
Jul 01 Javascript
详解angularJs指令的3种绑定策略
Apr 13 Javascript
node.js操作mysql简单实例
May 25 Javascript
Javascript调试之console对象——你不知道的一些小技巧
Jul 10 Javascript
微信小程序之选项卡的实现方法
Sep 29 Javascript
jQuery基于cookie实现换肤功能实例
Oct 14 jQuery
在 Typescript 中使用可被复用的 Vue Mixin功能
Apr 17 Javascript
JavaScript实现拖拽效果
Mar 16 Javascript
javascript利用键盘控制小方块的移动
Apr 20 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 静态变量与自定义常量的使用方法
2010/01/26 PHP
解析二进制流接口应用实例 pack、unpack、ord 函数使用方法
2013/06/18 PHP
php通过字符串调用函数示例
2014/03/02 PHP
ThinkPHP模板Switch标签用法示例
2014/06/30 PHP
PHP输入流php://input实例讲解
2015/12/22 PHP
php将从数据库中获得的数据转换成json格式并输出的方法
2018/08/21 PHP
判断iframe是否加载完成的完美方法
2010/01/07 Javascript
jquery 简单的进度条实现代码
2010/03/11 Javascript
jquery实现每个数字上都带进度条的幻灯片
2013/02/20 Javascript
3个可以改善用户体验的AngularJS指令介绍
2015/06/18 Javascript
使用Meteor配合Node.js编写实时聊天应用的范例
2015/06/23 Javascript
谈谈javascript中使用连等赋值操作带来的问题
2015/11/26 Javascript
浅谈JS函数定义方式的区别
2016/10/30 Javascript
利用JS实现页面删除并重新排序功能
2016/12/09 Javascript
简单实现JavaScript弹幕效果
2020/08/27 Javascript
vue双花括号的使用方法 附练习题
2017/11/07 Javascript
angularJS开发注意事项
2018/05/26 Javascript
基于vue2的canvas时钟倒计时组件步骤解析
2018/11/05 Javascript
浅谈vue限制文本框输入数字的正确姿势
2019/09/02 Javascript
layui 实现table翻页滚动条位置保持不变的例子
2019/09/05 Javascript
Vue实现PC端靠边悬浮球的代码
2020/05/09 Javascript
微信小程序实现文件预览
2020/10/22 Javascript
win与linux系统中python requests 安装
2016/12/04 Python
python paramiko模块学习分享
2017/08/23 Python
Python使用matplotlib绘制正弦和余弦曲线的方法示例
2018/01/06 Python
python 文件转成16进制数组的实例
2018/07/09 Python
Python制作动态字符图的实例
2019/01/27 Python
python 将有序数组转换为二叉树的方法
2019/03/26 Python
Matplotlib自定义坐标轴刻度的实现示例
2020/06/18 Python
添柏岚英国官方网站:Timberland英国
2019/11/28 全球购物
init进程的作用
2012/04/12 面试题
材料员岗位职责
2014/03/13 职场文书
《称象》教学反思
2014/04/25 职场文书
乡镇八一建军节活动方案
2014/08/24 职场文书
开学随笔
2015/08/15 职场文书
MySQL窗口函数的具体使用
2021/11/17 MySQL