闭包的变量不会被垃圾回收,因此可以做数据缓存
function fun3 () { let obj = {} return { get: function (key) { return obj[key] }, set: function (key, val) { obj[key] = val } } }