2010.06.04——— javascript 记忆功能

2010.06.04——— javascript 记忆功能
函数可以用对象去记住先前操作的结果,从而能避免无谓的运算,这种优化被称为记忆。
JavaScript的对象和数组要实现这种优化是非常方便的


计算阶乘

var memoizer = function(memo,fundamental){
	var shell = function(n){
		var result = memo[n];
		if(typeof result !== 'number'){
			document.write("fd ");
			result = fundamental(shell,n);
			memo[n] = result;
		}
		return result;
	};
	return shell;
};
var factorial = memoizer([1,1],function(shell,n){
	return n * shell(n-1);
});
alert(factorial(4));
alert(factorial(4));//第二次调用时 document.write("fd ");就没有执行了 




























你可能感兴趣的:(JavaScript)