![](https://csdnimg.cn/release/download_crawler_static/87870005/bg1.jpg)
面试官:Javascript中如何实现函数缓存?函数缓存有哪些应用场景
?
一、是什么
函数缓存,就是将函数运算过的结果进行缓存
本质上就是用空间(缓存存储)换时间(计算过程)
常用于缓存数据计算结果和缓存对象
const add = (a,b) => a+b;
const calc = memoize(add); //
函数缓存
calc(10,20);// 30
calc(10,20);// 30
缓存
缓存只是一个临时的数据存储,它保存数据,以便将来对该数据的请求能够更快地得到处
理
二、如何实现
实现函数缓存主要依靠闭包、柯里化、高阶函数,这里再简单复习下:
闭包
闭包可以理解成,函数 + 函数体内可访问的变量总和
(function() {
var a = 1;
function add() {