JavaScript 语言的递归编程
JavaScript 语言的递归编程
发布时间:2016-12-30 来源:查字典编辑
摘要:题目:从1累加一直加到100的和是多少?非递归的循环写法:复制代码代码如下:1run:function(){2varsum=0;3for(v...

题目:从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教程学习
编程开发子分类