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 相关文章推荐
jquery中动态效果小结
Dec 16 Javascript
javascript学习笔记(二) js一些基本概念
Jun 18 Javascript
html+javascript实现可拖动可提交的弹出层对话框效果
Aug 05 Javascript
基于jQuery的图片不完全按比例自动缩小
Jul 11 Javascript
jQuery实现仿淘宝带有指示条的图片转动切换效果完整实例
Mar 04 Javascript
jquery SweetAlert插件实现响应式提示框
Aug 18 Javascript
JavaScript中eval()函数用法详解
Dec 14 Javascript
阻止表单提交按钮多次提交的完美解决方法
May 16 Javascript
JavaScript闭包和范围实例详解
Dec 19 Javascript
详解有关easyUI的拖动操作中droppable,draggable用法例子
Jun 03 Javascript
Vue.js 中的 v-show 指令及用法详解
Nov 19 Javascript
了解JavaScript函数中的默认参数
May 30 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数据类型转换
2014/01/09 PHP
phpmyadmin配置文件现在需要绝密的短密码(blowfish_secret)的2种解决方法
2014/05/07 PHP
PHP数组与对象之间使用递归实现转换的方法
2015/06/24 PHP
php实现基于pdo的事务处理方法示例
2017/07/21 PHP
PHP实现打包下载文件的方法示例
2017/10/07 PHP
封装的原生javascript弹出层代码
2010/09/24 Javascript
javascript自定义startWith()和endWith()的两种方法
2013/11/11 Javascript
JavaScript中的原型prototype属性使用详解
2015/06/05 Javascript
以WordPress为例讲解jQuery美化页面Title的方法
2016/05/23 Javascript
AngularJs  unit-testing(单元测试)详解
2016/09/02 Javascript
基于Javascript倒计时效果
2016/12/22 Javascript
利用types增强vscode中js代码提示功能详解
2017/07/07 Javascript
vue2实现可复用的轮播图carousel组件详解
2017/11/27 Javascript
Element-ui table中过滤条件变更表格内容的方法
2018/03/02 Javascript
微信小程序自定义底部弹出框
2020/11/16 Javascript
详解html-webpack-plugin插件(用法总结)
2018/09/12 Javascript
vue中组件的3种使用方式详解
2019/03/23 Javascript
详解小程序毫秒级倒计时(适用于拼团秒杀功能)
2019/05/05 Javascript
[46:44]VG vs TNC Supermajor小组赛B组败者组决赛 BO3 第一场 6.2
2018/06/03 DOTA
python实现随机密码字典生成器示例
2014/04/09 Python
python实现中文分词FMM算法实例
2015/07/10 Python
Python爬虫DOTA排行榜爬取实例(分享)
2017/06/13 Python
django获取from表单multiple-select的value和id的方法
2019/07/19 Python
50行Python代码获取高考志愿信息的实现方法
2019/07/23 Python
python日志模块logbook使用方法
2019/09/19 Python
Django 自动生成api接口文档教程
2019/11/19 Python
一文解决django 2.2与mysql兼容性问题
2020/07/15 Python
html5的新增的标签和废除的标签简要概述
2013/02/20 HTML / CSS
ONLY德国官方在线商店:购买时尚女装
2017/09/21 全球购物
Juice Beauty官网:有机美容产品,护肤与化妆品
2020/06/13 全球购物
暑期实习鉴定
2013/12/16 职场文书
商场租赁意向书
2014/07/30 职场文书
2014年党员个人工作总结
2014/12/02 职场文书
2019行政前台转正申请书范文3篇
2019/08/15 职场文书
go语言-在mac下brew升级golang
2021/04/25 Golang
MySQL 数据库范式化设计理论
2022/04/22 MySQL