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 相关文章推荐
IE与Firefox下javascript getyear年份的兼容性写法
Dec 20 Javascript
jQuery UI-Draggable 参数集合
Jan 10 Javascript
JavaScript 判断指定字符串是否为有效数字
May 11 Javascript
extjs tabpanel限制选项卡数量实现思路及代码
Apr 02 Javascript
javascript中的undefined和not defined区别示例介绍
Feb 26 Javascript
ajaxFileUpload.js插件支持多文件上传的方法
Sep 02 Javascript
JS实现清除指定cookies的方法
Sep 20 Javascript
jQuery实现带分组数据的Table表头排序实例分析
Nov 24 Javascript
JavaScript定义及输出螺旋矩阵的方法详解
Dec 01 Javascript
vue选项卡切换登录方式小案例
Sep 27 Javascript
微信小程序返回箭头跳转到指定页面实例解析
Oct 08 Javascript
vue 解决mintui弹窗弹起来,底部页面滚动bug问题
Nov 12 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注入实例
2006/10/09 PHP
PHP下通过QRCode类库创建中间带网站LOGO的二维码
2014/07/12 PHP
php返回json数据函数实例
2014/10/09 PHP
ThinkPHP框架结合Ajax实现用户名校验功能示例
2019/07/03 PHP
json对象转字符串如何实现
2012/12/02 Javascript
JS二维数组的定义说明
2014/03/03 Javascript
使用jquery.validate自定义方法实现&quot;手机号码或者固话至少填写一个&quot;的逻辑验证
2014/09/01 Javascript
js实现图片从左往右渐变切换效果的方法
2015/02/06 Javascript
Bootstrap Table 在指定列中添加下拉框控件并获取所选值
2017/07/31 Javascript
vue.js项目中实用的小技巧汇总
2017/11/29 Javascript
关于vue中 $emit的用法详解
2018/04/12 Javascript
javascrit中undefined和null的区别详解
2019/04/07 Javascript
vue项目中将element-ui table表格写成组件的实现代码
2019/06/12 Javascript
在Uni中使用Vue的EventBus总线机制操作
2020/07/31 Javascript
js实现列表按字母排序
2020/08/11 Javascript
react使用antd表单赋值,用于修改弹框的操作
2020/10/29 Javascript
在vue中给后台接口传的值为数组的格式代码
2020/11/12 Javascript
[06:44]2014DOTA2国际邀请赛-钥匙体育馆开战 开幕式振奋人心
2014/07/19 DOTA
[52:22]EG vs VG Supermajor小组赛B组 BO3 第一场 6.2
2018/06/03 DOTA
[51:22]Fnatic vs IG 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/18 DOTA
批量将ppt转换为pdf的Python代码 只要27行!
2018/02/26 Python
Python3实现将本地JSON大数据文件写入MySQL数据库的方法
2018/06/13 Python
使用python执行shell脚本 并动态传参 及subprocess的使用详解
2020/03/06 Python
详解Pymongo常用查询方法总结
2021/01/29 Python
H5 video poster属性设置视频封面的方法
2020/05/25 HTML / CSS
英语生日邀请函
2014/01/23 职场文书
幼儿园毕业园长感言
2014/02/24 职场文书
学雷锋活动总结范文
2014/04/25 职场文书
课外科技活动总结
2014/08/27 职场文书
群众路线教育实践活动整改落实情况汇报
2014/10/28 职场文书
活动宣传稿范文
2015/07/23 职场文书
社区干部培训心得体会
2016/01/06 职场文书
tensorflow学习笔记之tfrecord文件的生成与读取
2021/03/31 Python
SQLServer中exists和except用法介绍
2021/12/04 SQL Server
海贼王十大潜力果实,路飞仅排第十,第一可毁世界(震震果实)
2022/03/18 日漫
SQL中去除重复数据的几种方法汇总(窗口函数对数据去重)
2023/05/08 MySQL