Implementieren einer Single-Use-JavaScript-Funktion
In JavaScript ist es manchmal wünschenswert, eine Funktion zu erstellen, die nur einmal ausgeführt werden kann. Während statische Variablen dies in Sprachen wie C und Java erreichen können, bietet JavaScript elegantere Lösungen.
Abschlussbasierte Implementierung
Ein Abschluss, der eine Variable innerhalb eines kapselt Funktion kann effektiv verhindern, dass eine Funktion mehrmals ausgeführt wird. Der folgende Codeausschnitt demonstriert diesen Ansatz:
<code class="javascript">var something = (function() { var executed = false; return function() { if (!executed) { executed = true; // Execute the desired actions } }; })();</code>
Durch den Aufruf von Something() wird die Funktion einmal aufgerufen und das Flag „Ausgeführt“ auf „True“ gesetzt. Nachfolgende Aufrufe der Funktion haben keine Auswirkung, da „executed“ bereits „true“ ist.
Once() Utility Function
Viele JavaScript-Bibliotheken, wie Underscore und Ramda, bieten eine Die Dienstprogrammfunktion Once() dient diesem Zweck. Der folgende Code zeigt, wie Sie die Once()-Funktion von Lodash verwenden:
<code class="javascript">import { once } from "lodash"; function something() { // Execute actions } const one_something = once(something); one_something(); // Executes something one_something(); // No effect</code>
Benutzerdefinierte Once()-Funktion
Wenn Sie keine Bibliothek verwenden, können Sie dies problemlos tun Implementieren Sie Ihre eigene Once()-Funktion:
<code class="javascript">function once(fn, context) { var result; return function() { if (fn) { result = fn.apply(context || this, arguments); fn = null; } return result; }; }</code>
Diese Funktion umschließt die angegebene Funktion fn und stellt sicher, dass sie nur einmal aufgerufen wird, wobei der zurückgegebene Wert für nachfolgende Aufrufe zwischengespeichert wird.
Durch die Nutzung von Abschlüssen oder Mit Hilfsfunktionen können Sie JavaScript-Funktionen erstellen, die nur einmal ausgeführt werden, was einen bequemen und vielseitigen Ansatz für verschiedene Anwendungsfälle bietet.
Das obige ist der detaillierte Inhalt vonWie implementiert man Einweg-JavaScript-Funktionen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!