Moduliai uždarant JavaScript funkcijas
Aukščiau aprašyta problema būdinga bet kuriai programavimo kalbai. Kaip sprendimas naudojami vadinamieji moduliai.
Modulis yra tam tikra konstrukcija, sukurta taip, kad kintamieji ir funkcijos šios konstrukcijos būtų matomi tik jos viduje ir netrukdytų niekam išorėje.
JavaScript yra kelių tipų moduliai. Paprasčiausi moduliai uždarant funkcijas sukuriami naudojant nedelsiant iškviečiamą funkciją, štai taip:
;(function() {
// čia modulio kodas
})();
Kintamieji ir funkcijos, sukurti tokiame modulyje, nebus matomi iš šio modulio išorės:
;(function() {
let str = 'modulio kintamasis';
function func() {
alert('modulio funkcija');
}
})();
// Čia modulio kintamieji ir funkcijos neprieinami:
alert(str);
alert(func);