Memorisierung (oder „Memoisierung“) ist eine Optimierungstechnik, die die Ergebnisse schwerer oder zeitaufwändiger Funktionen zwischenspeichert, sodass zukünftige Aufrufe mit denselben Argumenten schneller erfolgen. Das Auswendiglernen ist besonders nützlich bei reinen Funktionen, bei denen der gleiche Satz von Eingaben immer das gleiche Ergebnis liefert.
Wie funktioniert das Auswendiglernen?
Wenn eine gespeicherte Funktion zum ersten Mal mit bestimmten Argumenten aufgerufen wird, führt sie die Berechnung durch und speichert das Ergebnis in einem Cache. Bei nachfolgenden Aufrufen mit denselben Argumenten gibt die Funktion das Ergebnis direkt aus dem Cache zurück und vermeidet so wiederholte Berechnungen.
Grundlegende Implementierung des Auswendiglernens
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; }; }
Anwendungsbeispiel:
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
Vorteile des Auswendiglernens
Zusammenfassung
Das Auswendiglernen in JavaScript ist eine leistungsstarke Technik zur Verbesserung der Codeeffizienz und zur Beschleunigung der Leistung bei sich wiederholenden, rechenintensiven Vorgängen.
Das obige ist der detaillierte Inhalt vonAuswendiglernen in JavaScript. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!