JS中的实现

child::

函数缓存

JS

梗概

JS实现

function memoize(func) {
  const cache = new Map();
  
  return function(...args) {
    const key = JSON.stringify(args);
    
    if (!cache.has(key)) {
      cache.set(key, func(...args));
    }
    
    return cache.get(key);
  };
}
 
// Example usage
const add = (a, b) => {
  console.log('Calculating sum...');
  return a + b;
};
 
const memoizedAdd = memoize(add);
 
console.log(memoizedAdd(1, 2)); // Output: Calculating sum... | 3
console.log(memoizedAdd(1, 2)); // Output: 3 (cached)
指向原始笔记的链接