Alternativen zu globalen Variablen in Javascript
Der gemeinsame globale Namespace und die impliziten globalen Variablen von Javascript können zu Konflikten führen, wenn mehrere Skripte auf derselben Seite ausgeführt werden . Um diese Probleme zu vermeiden, sollten Sie den Einsatz alternativer Lösungen in Betracht ziehen.
Lokale Module
Schließen Sie Ihren Code in eine Funktion ein, die ein Objekt zurückgibt, das die Funktionen enthält, die Sie extern verfügbar machen möchten. Weisen Sie den Rückgabewert einer einzelnen globalen Variablen zu.
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); } }; })();
Um auf die Funktionen des Moduls zuzugreifen, verwenden Sie FOO.a_func(). Mit diesem Ansatz können Sie Ihren Code isolieren und Konflikte verhindern, indem Sie nur den Namen von FOO ändern.
Singleton-Muster
In diesem speziellen Szenario legt eine Funktion eine Variable fest und ein anderer es später abruft, betrachten Sie ein Singleton-Muster. Dazu gehört die Erstellung einer einzelnen Instanz einer Klasse, die kontrollierten Zugriff auf globale Daten bietet.
var Singleton = { variable1: null, setVariable: function(value) { this.variable1 = value; }, getVariable: function() { return this.variable1; } }; Singleton.setVariable("value1"); var retrievedVariable = Singleton.getVariable(); // "value1"
Dieses Muster stellt sicher, dass nur eine Instanz des Singleton existiert und bietet eine kontrollierte Schnittstelle für den Zugriff auf globale Daten.
Das obige ist der detaillierte Inhalt vonWie kann ich globale Variablenkonflikte in JavaScript vermeiden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!