memoized 函数
_.memoized = (fn,hasher) => {
//这里依旧利用闭包可以记录上下文的特性
const lookupTable = {};
return (key)=>{
//为了应对多个参数的情况,可接受传入hasher自定义对象的key
var address = hasher ? hasher.apply(this,arguments) : key;
return lookupTable[address] || (lookupTable[address] = fn(address));
}
}Last updated