工欲善其事,必先利其器
老话说“基础不牢地动山摇”,所以偿还技术债决定从基础知识开始
实现
function memorize(fn){
if(typeof fn !== 'function'){
throw new Error('期望fn 是一个函数,否则我就报错啦')
}
const cache = {}
return function (){
const key = arguments.length+Array.from(arguments).join(',');
if(cache[key]){
return cache[key];
}
return cache[key] = fn.apply(this,arguments);
}
}
思路:记忆函数我理解是空间换时间的一种方式,那首先要存储已经计算过的值,达到一个二次利用的效果。
随手一画
虽然不复杂,练习练习画图的能力