JavaScript 语言的递归编程

 更新时间:2010年05月18日 23:02:16   作者:  
关于递归的解释见《SICP》第1章。下面是个简单的递归编程题目。
题目:从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动画效果(2)

    Javascript动画效果(2)

    这篇文章主要为大家详细介绍了第二篇Javascript动画效果,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-10-10
  • js实时监听文本框状态的方法

    js实时监听文本框状态的方法

    js实时监听文本框状态的方法,这里的方法兼容性不是很好,建议参考脚本之家以前的文章。
    2011-04-04
  • 微信小程序API—获取定位的详解

    微信小程序API—获取定位的详解

    这篇文章主要介绍了微信小程序API获取定位,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-04-04
  • JavaScript实现存储HTML字符串示例

    JavaScript实现存储HTML字符串示例

    这篇文章主要介绍了JavaScript存储HTML字符串的具体实现,需要的朋友可以参考下
    2014-04-04
  • JavaScript中的this到底是什么(一)

    JavaScript中的this到底是什么(一)

    JavaScript中的this总是让人迷惑,应该是js众所周知的坑之一。 个人也觉得js中的this不是一个好的设计,由于this晚绑定的特性,它可以是全局对象,当前对象,或者…有人甚至因为坑大而不用this
    2015-12-12
  • Nuxt默认模板、默认布局和自定义错误页面的实现

    Nuxt默认模板、默认布局和自定义错误页面的实现

    这篇文章主要介绍了Nuxt默认模板、默认布局和自定义错误页面的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-05-05
  • Google Map V3 绑定气泡窗口(infowindow)Dom事件实现代码

    Google Map V3 绑定气泡窗口(infowindow)Dom事件实现代码

    无法在infowindow里面添加的div进行绑定事件处理,官方的API,发现了google.maps.InfoWindow下面的Events里面有个domready事件
    2013-04-04
  • 理解javascript中的with关键字

    理解javascript中的with关键字

    这篇文章主要帮助大家理解javascript中的with关键字,学习with关键字的作用,感兴趣的小伙伴们可以参考一下
    2016-02-02
  • 使用原生js编写一个简单的框选功能方法

    使用原生js编写一个简单的框选功能方法

    这篇文章主要介绍了使用原生js编写一个简单的框选功能方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-05-05
  • 利用javascript判断文件是否存在

    利用javascript判断文件是否存在

    本篇文章主要介绍了利用javascript判断文件是否存在的方法。需要的朋友可以过来参考下,希望对大家有所帮助
    2013-12-12

最新评论