Maison > interface Web > js tutoriel > le corps du texte

Comment garantir l'exécution unique des fonctions en JavaScript ?

Barbara Streisand
Libérer: 2024-10-23 00:19:03
original
427 Les gens l'ont consulté

How to Ensure Single-Execution of Functions in JavaScript?

Fonction à exécution unique en JavaScript

En JavaScript, garantir qu'une fonction ne s'exécute qu'une seule fois peut être obtenu grâce à diverses techniques.

Solution basée sur la fermeture

Pour les situations où plusieurs appels à la fonction ne doivent pas déclencher son exécution, une fermeture peut être utilisée :

var onceFunction = (function() {
    var alreadyExecuted = false;
    return function() {
        if (!alreadyExecuted) {
            alreadyExecuted = true;
            // Execute the desired actions
        }
    };
})();

onceFunction(); // Executes
onceFunction(); // No execution (alreadyExecuted is true)
Copier après la connexion

Fonction de bibliothèque

Plusieurs bibliothèques JavaScript populaires, telles que Underscore et Ramda, fournissent une fonction utilitaire pratique nommée once(). Cette fonction accepte une fonction comme argument et renvoie une fonction wrapper qui garantit que la fonction fournie n'est exécutée qu'une seule fois :

const onceFunction = once(function() { /* Your code here */ });

onceFunction(); // Executes
onceFunction(); // No execution (function is cached)
Copier après la connexion

Fonction utilitaire personnalisée

Si les bibliothèques externes ne sont pas disponibles, une fonction utilitaire personnalisée peut être créée :

const once = (func, context) => {
    let result;
    return () => {
        if (func) {
            result = func.apply(context || this, arguments);
            func = null;
        }
        return result;
    };
};

const oneTimeFunction = once(function() { /* Your code here */ });

oneTimeFunction(); // Executes
oneTimeFunction(); // No execution (function is nullified)
Copier après la connexion

Ces techniques fournissent des méthodes élégantes et fiables pour créer des fonctions à exécution unique en JavaScript, répondant à l'exigence énoncée dans la question.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!