Rendi globale variabile Javascript con MooTools
-
07-07-2019 - |
Domanda
Attualmente sto usando mootools-1.2.3 e ho problemi a rendere accessibile una variabile al di fuori di una funzione.
Devo definire la variabile nella funzione domready, perché altrimenti il ??DOM non è stato caricato e le funzioni di selezione non funzioneranno (non riesco a posizionare lo script alla fine dell'HTML di cui non ho il controllo quando il framework scrive i riferimenti a script esterni).
Esiste comunque un riferimento alla stessa variabile in un'altra funzione?
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();
});
Soluzione
Metti var myVar;
al livello superiore (sopra addEvents) e rimuovi var
dalla funzione domready. Le variabili sono visibili nell'ambito in cui sono dichiarate.
Altri suggerimenti
Le variabili globali sono in realtà proprietà dell'oggetto Window, quindi puoi usare:
window.myVar
Definisci semplicemente myVar senza la parola chiave var
. La mancanza di var
durante un compito implica globale.
window.addEvent('domready', function() {
myVar = new myClass('someURL', 'elementSelectorString');