实现一个闭包缓存封装

看到的一题面试题,其实就是通过闭包保持缓存的生命周期的一个简单闭包应用而已:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
const Cache = (function (){
// 内部缓存
const _cache = {}
return {
set: function (key, value) {
_cache[key] = value
},
get: function (key, value) {
return _cache[key]
}
}
})()

Cache.set('a',1)
console.log(Cache.get('a'))

return对象中的两个函数形成了闭包环境,因此_cache不会被垃圾回收掉。