質問: 1 から 100 まで足した合計はいくらですか?
非再帰ループの書き込み:
1run: function() {
2 var sum = 0;
3 for(var i=1;i4 sum = sum i; }
6 console.log(sum);
7}
再帰書き込み:
var testCase = {
sum: 0,
run: function(n) {
if(n>) ;=100) {
return
}
else {
sum = n testCase.run(n 1);
return sum; >};
console.log(testCase.run(1));
インターネット上には上記のようなコードが多数あります。
コードをコピーします
if(nreturn 1;
}
else{
sum = argument.callee(n-1) n;
return sum;
}
})(100));
この書き方は簡単に学べます。上記は線形再帰であり、再帰の入門としては問題ありませんが、アルゴリズムのパフォーマンス効率が少し悪いため考慮されません。