Export de variables et de fonctions dans les modules via les fermetures en JavaScript
Parfois, il est nécessaire que certaines variables et fonctions du module soient accessibles de l'extérieur. Voyons comment cela se fait. Supposons que nous ayons le module suivant :
;(function() {
let str = 'variable du module';
function func() {
alert('fonction du module');
}
})();
Exportons notre fonction func.
Pour ce faire, enregistrons-la en tant que propriété de l'objet
intégré au navigateur window :
;(function() {
let str = 'variable du module';
function func() {
alert('fonction du module');
}
window.func = func;
})();
Maintenant, nous pouvons appeler notre fonction de l'extérieur du module :
;(function() {
let str = 'variable du module';
function func() {
alert('fonction du module');
}
window.func = func;
})();
window.func(); // affichera 'fonction du module'
Il n'est pas obligatoire d'appeler la fonction
en tant que propriété de l'objet window :
;(function() {
let str = 'variable du module';
function func() {
alert('fonction du module');
}
window.func = func;
})();
func(); // affichera 'fonction du module'
Le module suivant est donné :
;(function() {
let str1 = 'variable du module';
let str2 = 'variable du module';
let str3 = 'variable du module';
function func1() {
alert('fonction du module');
}
function func2() {
alert('fonction du module');
}
function func3() {
alert('fonction du module');
}
})();
Exportez une des variables et deux fonctions quelconques vers l'extérieur.