Alternatives aux variables globales en Javascript
L'espace de noms global partagé de Javascript et les variables globales implicites peuvent entraîner des conflits lorsque plusieurs scripts fonctionnent sur la même page . Pour éviter ces problèmes, envisagez d'utiliser des solutions alternatives.
Modules locaux
Insérez votre code dans une fonction qui renvoie un objet contenant les fonctions que vous souhaitez exposer en externe. Attribuez la valeur de retour à une seule variable globale.
var FOO = (function() { var my_var = 10; // Shared variable function bar() { // Not exposed externally alert(my_var); } return { a_func: function() { alert(my_var); }, b_func: function() { alert(my_var); } }; })();
Pour accéder aux fonctions du module, utilisez FOO.a_func(). Cette approche vous permet d'isoler votre code et d'éviter les conflits en changeant uniquement le nom de FOO.
Modèle Singleton
Dans ce scénario spécifique, où une fonction définit une variable et un autre le récupère plus tard, considérons un modèle Singleton. Cela implique la création d'une seule instance d'une classe qui fournit un accès contrôlé aux données globales.
var Singleton = { variable1: null, setVariable: function(value) { this.variable1 = value; }, getVariable: function() { return this.variable1; } }; Singleton.setVariable("value1"); var retrievedVariable = Singleton.getVariable(); // "value1"
Ce modèle garantit qu'une seule instance du Singleton existe et fournit une interface contrôlée pour accéder aux données globales.
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!