DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> JavaScript入門知識 >> 關於JavaScript >> JavaScript 語言的遞歸編程
JavaScript 語言的遞歸編程
編輯:關於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));

這樣的寫法便於學習。以上是線性遞歸,作為遞歸入門的話還行,算法的性能效率就爛了些,不作考慮。
XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved