Heim > Web-Frontend > js-Tutorial > Hauptteil

Wie erstellt man eine Funktion in JavaScript, die nur einmal ausgeführt wird?

Susan Sarandon
Freigeben: 2024-10-22 23:14:29
Original
952 Leute haben es durchsucht

How to Build a Function in JavaScript That Executes Only Once?

So erstellen Sie eine Funktion in JavaScript, die nur einmal ausgeführt werden kann

JavaScript bietet grundsätzlich keine Möglichkeit, Funktionen zu erstellen, die nur einmal ausgeführt werden können einmal ausführen. Es gibt jedoch elegante Lösungen, die Abschlüsse und Bibliotheken von Drittanbietern verwenden.

Abschlussmethode:

Ein Abschluss erstellt einen privaten Bereich, auf den die darin enthaltene Funktion zugreifen kann . In diesem Bereich kann ein Flag gesetzt werden, das anzeigt, ob die Funktion ausgeführt wurde. Der folgende Code demonstriert diesen Ansatz:

<code class="javascript">var something = (function() {
    var executed = false;
    return function() {
        if (!executed) {
            executed = true;
            // do something
        }
    };
})();</code>
Nach dem Login kopieren

Der erste Aufruf von Something() ruft die Funktion auf und setzt die Ausführung auf „true“. Nachfolgende Aufrufe haben keine Auswirkung, da die Ausführung „true“ bleibt.

Bibliotheksmethode von Drittanbietern:

Bibliotheken wie Underscore und Ramda stellen eine Once()-Funktion bereit, die eine bereitgestellte Funktion umschließt Funktion und stellt sicher, dass sie nur einmal ausgeführt wird.

<code class="javascript">// Using Underscore
var one_something = _.once(something);

// Using Ramda
const one_something = R.once(something);</code>
Nach dem Login kopieren

Die zurückgegebene Funktion kann mehrmals aufgerufen werden, aber die zugrunde liegende Funktion wird nur beim ersten Mal ausgeführt.

Dienstprogramme zum Erstellen einer Funktion -Zeitfunktionen:

Wenn Sie keine Bibliothek verwenden, können Sie eine benutzerdefinierte Dienstprogrammfunktion erstellen. Ein Ansatz ist:

<code class="javascript">function once(fn, context) { 
    var result;
    return function() { 
        if (fn) {
            result = fn.apply(context || this, arguments);
            fn = null;
        }
        return result;
    };
}</code>
Nach dem Login kopieren

Diese Funktion akzeptiert eine Funktion und optional einen Kontext. Es gibt eine Funktion zurück, die beim ersten Aufruf die ursprüngliche Funktion ausführt und das Ergebnis zurückgibt. Nachfolgende Aufrufe haben keine Wirkung.

Das obige ist der detaillierte Inhalt vonWie erstellt man eine Funktion in JavaScript, die nur einmal ausgeführt wird?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!