Heim > Web-Frontend > js-Tutorial > Hauptteil

Wie kann ich in JavaScript eine Funktion erstellen, die nur einmal ausgeführt wird?

Linda Hamilton
Freigeben: 2024-10-22 23:32:29
Original
678 Leute haben es durchsucht

How Can I Create a Function in JavaScript That Executes Only Once?

Eine Funktion in JavaScript erstellen, die nur einmal ausführbar ist

In JavaScript ist es manchmal notwendig, die Ausführung einer Funktion auf eine einzelne Instanz zu beschränken. Während statische Variablen dies in Sprachen wie C erreichen können, bietet JavaScript eine elegantere Lösung durch Abschlüsse.

Ein Abschluss, eine Funktion, die ihren Kontext auch nach dem Ende ihres umschließenden Bereichs beibehält, ermöglicht die Erstellung von Funktionen, die kann nur einmal aufgerufen werden. Indem wir das Ausführungsflag in einen Abschluss einkapseln, können wir sicherstellen, dass es dauerhaft und für externen Code unzugänglich bleibt.

Hier ist ein Beispiel für die Verwendung eines Abschlusses zum Erstellen einer einmalig ausführbaren Funktion:

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

something(); // "do something" happens
something(); // nothing happens</code>
Nach dem Login kopieren

Diese Funktion stellt sicher, dass der eingeschlossene Code innerhalb des Abschlusses trotz nachfolgender Aufrufe nur einmal ausgeführt wird.

Alternativ können Sie, wenn Sie einen stärker gekapselten Ansatz bevorzugen, eine Hilfsfunktion wie die folgende verwenden:

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

Verwendung:

<code class="javascript">function something() { /* do something */ }
var one_something = once(something);

one_something(); // "do something" happens
one_something(); // nothing happens</code>
Nach dem Login kopieren

Diese Dienstprogrammfunktion gibt eine Funktion zurück, die das Ergebnis des ersten Aufrufs zwischenspeichert und nachfolgende Ausführungen deaktiviert.

Das obige ist der detaillierte Inhalt vonWie kann ich in JavaScript eine Funktion erstellen, 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!