Export proměnných a funkcí v modulech pomocí uzávěrů v JavaScriptu
Někdy je potřeba, aby některé proměnné a funkce modulu byly dostupné zvenčí. Podívejme se, jak se to dělá. Předpokládejme, že máme následující modul:
;(function() {
let str = 'proměnná modulu';
function func() {
alert('funkce modulu');
}
})();
Exportujme naši funkci func.
Pro tento účel ji uložíme jako vlastnost vestavěného
objektu window v prohlížeči:
;(function() {
let str = 'proměnná modulu';
function func() {
alert('funkce modulu');
}
window.func = func;
})();
Nyní můžeme naši funkci volat zvenčí modulu:
;(function() {
let str = 'proměnná modulu';
function func() {
alert('funkce modulu');
}
window.func = func;
})();
window.func(); // vypíše 'funkce modulu'
Při tom nemusíme funkci volat
jako vlastnost objektu window:
;(function() {
let str = 'proměnná modulu';
function func() {
alert('funkce modulu');
}
window.func = func;
})();
func(); // vypíše 'funkce modulu'
Je dán následující modul:
;(function() {
let str1 = 'proměnná modulu';
let str2 = 'proměnná modulu';
let str3 = 'proměnná modulu';
function func1() {
alert('funkce modulu');
}
function func2() {
alert('funkce modulu');
}
function func3() {
alert('funkce modulu');
}
})();
Exportujte ven jednu z proměnných a dvě libovolné funkce.