1 var memoizer =
function(memo, fundamental) {
2 var shell =
function(n) {
3 var result =
memo[n];
4 if (
typeof result !== 'number'
) {
5 result =
fundamental(shell, n);
6 memo[n] =
result;
7 }
8 return result;
9 };
10 return shell;
11 };
12
13 //阶乘函数
14 var factorial = memoizer([1, 1],
function(shell, n) {
15 return n * shell(n - 1
);
16 });
17 for (
var i = 0; i <= 10; i += 1
) {
18 document.writeln('//' + i + ': ' + factorial(i) + '<br/>'
);
19 }
转载于:https://www.cnblogs.com/qzsonline/archive/2012/07/12/2587901.html
相关资源:JAVA上百实例源码以及开源项目