par*_*ton 4 javascript hash caching memoization
在多次阅读之后,我仍然不明白Stoyan Stefanov的"JavaScript Patterns"第76页的示例代码如何工作.我还不是忍者.但对我来说,它看起来只是存储一个空对象:
var myFunc = function (param) {
if (!myFunc.cache[param]) {
var result = {};
// ... expensive operation ...
myFunc.cache[param] = result;
}
return myFunc.cache[param];
};
// cache storage
myFunc.cache = {};
Run Code Online (Sandbox Code Playgroud)
除非那个看不见的"昂贵的操作"存储回来result,否则我看不到任何保留.
结果存储在哪里?
PS:我已经阅读了从John Resig的Learning Advanced JavaScript中获取函数的返回结果,这是一个类似的练习,我得到了那个.但这里的代码不同.