計算するフィボナッチ数列がある場合:
var fibonacci = function (n) {
return n < 2 ? n : fibonacci(n - 1) fibonacci(n - 2);数値が大きいと、関数の操作中に何度も計算が繰り返されるため、ブラウザがクラッシュするのではないかと心配しています。しかし、JavaScript の強力な配列と関数クロージャを使用すると、計算結果を簡単に記憶できます。計算速度は飛躍的に向上します。
小さくても強力なメモリ機能:
コードをコピー
コードは次のとおりです: var memoizer = function (メモ、基本) { var shell = function (n) {
var result = memo[n]
if (typeof result !== 'number') {
結果 = 基本(シェル, n);
結果を返します
}; >
最初のパラメータは初期メモリ シーケンス、2 番目のパラメータは基本関数です。使い方はさらに簡単です:
コードをコピー
コードは次のとおりです:
コードをコピー
コードは次のとおりです:
var fastial = memoizer([1, 1], function (shell, n) {
return n *shell(n - 1);
});