何度か読んだ後でも、 Stoyan Stefanov の「JavaScript パターン」の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 = {};
その目に見えない「高価な操作」が に保存されていない限り、result
何も保持されていません。
結果はどこに保存されますか?
PS: 私はCaching the return results of a function from John Resig's Learning Advanced JavaScriptを読みましたが、これは同様の演習であり、それを取得しました。しかし、ここではコードが異なります。