ホームページ >ウェブフロントエンド >jsチュートリアル >Javascript メモ化キャッシュ関数の説明_JavaScript スキル

Javascript メモ化キャッシュ関数の説明_JavaScript スキル

WBOY
WBOYオリジナル
2016-05-16 18:26:061361ブラウズ
例:
コードをコピーします コードは次のとおりです:

var Flower= function(){
var t=0,i=0;
for(;it ;
}
return t;

flower は t の値を返します
この関数には 2 ~ 3 秒かかると仮定します。
メモ化関数を通じて、同じ値を再度検索する場合、事前にキャッシュされた値が直接取得され、すぐに返されます。

メモ化関数
コードをコピー コードは次のとおりです:
var Memoize = function(fn, cache, refetch, obj){
cache = キャッシュ|| {};/ /結果をキャッシュするために使用されます
return function(){
var k = argument[1] Array.prototype.join.call(arguments, '__') : argument[0]; //複数のパラメータ '__' で区切られます
if (!(k in キャッシュ) || (refetch &&cache[k] == refetch)) { //キャッシュ リストに存在せず、指定された再フェッチ値、 Re-operate
cache[k] = fn.apply(obj || fn, argument) //obj パラメーターを使用してこのポインターを変更できます
}
return queue[k] ];//結果を返します
}
}


デモ:

[Ctrl A すべて選択 注: 外部 Js を導入する必要がある場合は、 を実行するために更新する必要があります]
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。