高度な JavaScript に関する John Resig のスニペットを調べています。# 19で、彼は関数の戻り値をキャッシュする方法について言及しています。複数のパラメーターを持つ関数の戻り値をキャッシュする最良の方法は何ですか?
受け取った引数を文字列化して、それをキャッシュ オブジェクトのキーとして使用するよりも、はるかに優れた方法が必要です。
function $$(selector, el) {
var cacheKey = JSON.stringify(arguments);
if ($$.cache[cacheKey]) return $$.cache[cacheKey];
return ($$.cache[cacheKey] = NodeListToArray( (el || document).querySelectorAll(s) ));
}
$$.cache = {};