Javascript Memoizer浅析(2)
复制代码 代码如下: function Memoize(fn){ var cache = {}, args = {}; return function(){ for( var i=0, key = args.length; i key; i++ ) { if( equal( args[i], arguments ) ) return cache[i]; } args
复制代码 代码如下:
function Memoize(fn){
var cache = {}, args = {};
return function(){
for( var i=0, key = args.length; i < key; i++ ) {
if( equal( args[i], arguments ) )
return cache[i];
}
args[key] = arguments;
cache[key] = fn.apply(this, arguments);
return cache[key];
};
}
还有一些其他的办法,都可以写成简洁的函数式方法。
精彩图集
精彩文章