Moduler via lukninger i JavaScript
Problemet beskrevet ovenfor er karakteristisk for ethvert programmeringssprog. Som en løsning anvendes såkaldte moduler.
Et modul er en konstruktion, lavet på en sådan måde, at variabler og funktioner i denne konstruktion kun er synlige inde i den og ikke forstyrrer nogen udenfor.
I JavaScript findes der flere typer moduler. De enkleste moduler via lukninger oprettes ved hjælp af øjeblikkelig funktionskald, sådan her:
;(function() {
// koden for modulet her
})();
Variabler og funktioner oprettet i et sådant modul vil ikke være synlige udenfor dette modul:
;(function() {
let str = 'modulvariabel';
function func() {
alert('modulfunktion');
}
})();
// Her er variabler og funktioner fra modulet utilgængelige:
alert(str);
alert(func);