Dans notre développement quotidien, nous rencontrons souvent une situation où nous voulons faire une fonction d'exécution une seule fois, surtout lorsque certaines boucles ou l'exécution chronométrée.
Sans plus tarder, téléchargez simplement le code:
fonction RunOnce (fn, context) {// contrôle la fonction pour déclencher la fonction return () {try {fn.apply (context || this, arguments); } catch (e) {console.error (e); // Vous pouvez généralement commenter cette ligne} enfin {fn = null; }}} // Utilisation 1: var a = 0; var canonlyfireonce = RunOnce (function () {a ++; console.log (a);}); canonlyfireonce (); // 1CanonlyfireOnce (); // rien CanonlyFireonce (); // rien // usage 2: var name = "zhang san"; var canonlyfireonce = RunOnce (function () {console.log ("hello" + this.name);}); canonlyfireonce (); // Bonjour Zhang San Canonlyfireonce (); // rien // usage 3: var obj = {name: "Les oies solitaires du monde", Âge: 24}; var canonlyfireonce = Runonce (function () {console.log ("hello" + this.name);}, obj); canonlyfireonce (); // Bonjour, Tianya, CanonlyFireonce (); // rienParce qu'après l'exécution de la fonction de retour une fois, fn = null ne le définit pas null, il ne sera donc pas exécuté ultérieurement. Publier un autre code partagé par d'autres en ligne, le principe est le même:
fonction une fois (fn, contexte) {var result; return function () {if (fn) {result = fn.Apply (contexte || this, arguments); fn = null; } Retour Résultat; };} // usagevar canonlyfireonce = une fois (function () {console.log ('tired!');}); canonlyfireonce (); // "Licencié!" canonlyfireonce (); // rienCe qui précède est une collection des exemples de fonction pour que vous permez à JavaScript exécuter une seule fois. Si vous en avez besoin, vous pouvez vous y référer.