我是靠谱客的博主 唠叨身影,这篇文章主要介绍JavaScript 语言的递归编程,现在分享给大家,希望可以做个参考。

题目:从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 语言的递归编程的全部内容,更多相关JavaScript内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(251)

评论列表共有 0 条评论

立即
投稿
返回
顶部