-1
A
答えて
0
関数を渡すメソッドがあり、計算された値がキャッシュされる場所にキャッシュオブジェクトが内部的に保持されます。同じ引数を指定して関数を呼び出すと、キャッシュされた値が提供されます。あなたが複数の引数を渡す場合
function cacheFn(fn) {
var cache={};
return function(arg){
if (cache[arg]){
return cache[arg];
}
else{
cache[arg] = fn(arg);
return cache[arg];
}
}
}
は、まず私たちは、関数に渡されるすべてのパラメータを取得するには、引数を使用する必要がありますし、我々は、キャッシュオブジェクトのキーを生成することができます。キャッシュオブジェクトのキーを生成するのは難しいかもしれませんが、1つの解決策はすべてのパラメータを取得してそれらを連結することです。下のコードを見てください。
return function(){
var args = arguments;
var key = [].slice.call(args).join('');
if(cache[key]){
return cache[key];
}
else{
cache[key] = fn.apply(thi, args);
return cache[key];
}
}
+0
これはもちろん、引数が意味的に文字列に強制されることを前提としています。 –
関連する問題
- 1. SQL Server 2000のキャッシング関数の結果
- 2. キャッシング関連のデータ
- 3. キャッシング禁止JavaScript/CSS
- 4. JavaScriptの機能のキャッシング
- 5. キャッシングからjavascriptを停止
- 6. 変数のキャッシングは
- 7. 関数内のjavascript関数
- 8. iPad上のJavascriptキャッシングHTML5フルスクリーンWebアプリケーション
- 9. PHPとJavaScript/Ajaxのキャッシング - JSONとSimpleXMLを
- 10. SQLiteのキャッシングとアプリケーションのキャッシング
- 11. Hibernate L2キャッシングと多対多の関係
- 12. Pythonのキャッシングに関するアドバイス
- 13. JavaScriptキャッシングDOM要素奇妙なエラー
- 14. javascriptの関数の引数
- 15. Djangoのグローバル変数/変数キャッシング
- 16. Javascript関数のパラメータ
- 17. javascript関数のデバッグ
- 18. JavaScriptの関数isnan
- 19. Javascriptのラウンド関数
- 20. Javascriptのcall()関数
- 21. javascriptの関数スコープ
- 22. JavaScriptのブール関数
- 23. JavaScript関数の図
- 24. JavaScriptのメンバー関数
- 25. Javascriptのキューブ関数
- 26. Javascriptのリテラル関数
- 27. Javascriptのコールバック関数
- 28. IEのJavaScript関数
- 29. onclick関数のJavascript
- 30. JavaScript関数のスコープパラメータ
_cache_はどういう意味ですか? –
**あなたのテキストを太字で表記しないでください**あなたが達成しようとしている目標を明確にしてください*:*どうすればよい質問ができますか? -to-ask) –
関数の結果を任意の言語と同様に変数に格納しますか?あなたは何をしようとしていて何が効いていないのですか? – David