function AddNum(num) {
console.log("long time");
return num+80;
}
console.log(AddNum(5));
console.log(AddNum(5));
console.log(AddNum(5));
let cache = {};
function memoizedNum(num) {
if(num in cache) {
return cache[num]
} else {
console.log("memoization")
cache[num] = num+80;
return cache[num]
}
}
console.log(memoizedNum(5));
console.log(memoizedNum(5));
console.log(memoizedNum(5));
function ImprovedMemoizedNum() {
let cache = {};
return function(num) {
if(num in cache) {
return cache[num]
} else {
console.log("Improved memoization")
cache[num] = num+80;
return cache[num]
}
}
}
const memoized = ImprovedMemoizedNum();
console.log(memoized(5));
console.log(memoized(5));
console.log(memoized(5));