Machen Sie Javascript Variable global w / MooTools
-
07-07-2019 - |
Frage
Ich verwende Mootools-1.2.3 im Moment und ich habe Probleme, eine Variable immer zugänglich außerhalb einer Funktion sein.
Ich brauche die Variable in der domready Funktion zu definieren, denn sonst hat das DOM nicht und Selektor-Funktionen geladen werden nicht funktionieren (ich am Ende des HTML das Skript nicht platzieren kann ich nicht die Kontrolle von wenn der Rahmen schreibt die Verweise auf externe Skripte).
Gibt es trotzdem von den gleichen Variablen in einer anderen Funktion werben?
window.addEvent('domready', function() {
var myVar = new myClass('someURL', 'elementSelectorString');
document.addEvent('click', function(event) {
myVar.doSomeStuff(var1, var2);
});
});
window.addEvent('unload', function(event) {
// Reference to myVar variable in domready function.
myVar.cleanUpStuff();
});
Lösung
Setzen Sie var myVar;
auf der obersten Ebene (oberhalb der addEvents) und die var
aus der domready Funktion entfernen. Variablen sind im Rahmen, in dem sie deklariert sind.
Andere Tipps
globale Variablen sind tatsächlich Eigenschaften des Window-Objekt, so können Sie:
window.myVar
Einfach meineVar ohne var
Schlüsselwort definieren. Der Mangel an var
während einer Zuweisung impliziert global.
window.addEvent('domready', function() {
myVar = new myClass('someURL', 'elementSelectorString');