使用闭包实现缓存
function memoize(fn){
let cache={};
return function (...args){
if (!cache[args]){
cache[args]=fn.apply(null,args);
}
return cache[args]
}
}
function add(...args){
let sum=0;
for (let i=0;i<args.length;i++){
sum+=args[i];
}
console.log("执行了add函数");
return sum;
}
// 调用
const calc = memoize(add);
const num1 = calc(100,200)
console.log(num1)
const num2 = calc(100,200) // 缓存得到得结果
console.log(num2)
const num3 = calc(100,200,300)
console.log(num3)
const num4 = calc(100,200,300)
console.log(num4)



854

被折叠的 条评论
为什么被折叠?



