Export premenných a funkcií v moduloch pomocou uzávierok v JavaScripte
Niekedy je potrebné, aby boli niektoré premenné a funkcie modulu dostupné zvonku. Pozrime sa, ako sa to robí. Majme nasledujúci modul:
;(function() {
let str = 'premenná modulu';
function func() {
alert('funkcia modulu');
}
})();
Exportujme našu funkciu func.
Na to ju zapíšme ako vlastnosť vstavaného
objektu window v prehliadači:
;(function() {
let str = 'premenná modulu';
function func() {
alert('funkcia modulu');
}
window.func = func;
})();
Teraz môžeme našu funkciu volať zvonku modulu:
;(function() {
let str = 'premenná modulu';
function func() {
alert('funkcia modulu');
}
window.func = func;
})();
window.func(); // vypíše 'funkcia modulu'
Pri tom nemusíme funkciu volať
ako vlastnosť objektu window:
;(function() {
let str = 'premenná modulu';
function func() {
alert('funkcia modulu');
}
window.func = func;
})();
func(); // vypíše 'funkcia modulu'
Daný je nasledujúci modul:
;(function() {
let str1 = 'premenná modulu';
let str2 = 'premenná modulu';
let str3 = 'premenná modulu';
function func1() {
alert('funkcia modulu');
}
function func2() {
alert('funkcia modulu');
}
function func3() {
alert('funkcia modulu');
}
})();
Exportujte von jednu z premenných a dve ľubovoľné funkcie.