ホームページ  >  記事  >  ウェブフロントエンド  >  JavaScriptの暗記

JavaScriptの暗記

Patricia Arquette
Patricia Arquetteオリジナル
2024-11-06 07:36:02255ブラウズ

Memorização em JavaScript

記憶 (または「メモ化」) は、重い関数または時間のかかる関数の結果をキャッシュして、同じ引数を使用した以降の呼び出しを高速化する最適化手法です。記憶は、同じ入力セットが常に同じ結果を生成する純粋関数で特に役立ちます。

暗記はどのように機能しますか?

記憶された関数が特定の引数を指定して初めて呼び出されるとき、計算が実行され、結果がキャッシュに保存されます。同じ引数を使用した後続の呼び出しでは、関数は結果をキャッシュから直接返し、計算の繰り返しを回避します。

基本的な暗記の実装

function memoize(fn) {
  const cache = {};

  return function(...args) {
    const key = JSON.stringify(args); // Cria uma chave única para os argumentos

    if (cache[key]) {
      console.log("Resultado em cache");
      return cache[key]; // Retorna o valor armazenado no cache
    }

    const result = fn(...args); // Calcula o valor
    cache[key] = result; // Armazena o resultado no cache

    return result;
  };
}

使用例:

function factorial(n) {
  if (n <= 1) return 1;
  return n * factorial(n - 1);
}

const memoizedFactorial = memoize(factorial);

console.log(memoizedFactorial(5)); // Calcula e armazena em cache
console.log(memoizedFactorial(5)); // Recupera do cache

暗記の利点

  • 処理の削減: 繰り返しの計算を回避し、パフォーマンスを向上させます。
  • 再帰関数に最適: 同じ値で複数回呼び出す必要がある関数の処理を高速化します。
  • 純粋な関数で効率的: 関数が同じ引数に対して同じ値を返す場合、記憶は最も効果的に機能します。 暗記の一般的な応用
  • 数学的計算: 階乗、フィボナッチなど
  • API 呼び出し: 同じパラメーターによる重複した API 呼び出しを防止します。
  • 高コストの操作: データ処理と複雑な操作。

概要
JavaScript の記憶は、コードの効率を向上させ、計算量の多い反復的な操作のパフォーマンスを高速化するための強力な手法です。

以上がJavaScriptの暗記の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。