Izvoz promenljivih i funkcija u modulima putem zatvaranja u JavaScriptu
Ponekad je potrebno da se neke promenljive i funkcije modula učine dostupnim spolja. Pogledajmo kako se to radi. Neka imamo sledeći modul:
;(function() {
let str = 'promenljiva modula';
function func() {
alert('funkcija modula');
}
})();
Hajde da izvezemo našu funkciju func.
Za to ćemo je upisati u svojstvo ugrađenog
u brauzer objekta window:
;(function() {
let str = 'promenljiva modula';
function func() {
alert('funkcija modula');
}
window.func = func;
})();
Sada možemo pozvati našu funkciju spolja modula:
;(function() {
let str = 'promenljiva modula';
function func() {
alert('funkcija modula');
}
window.func = func;
})();
window.func(); // ispisaće 'funkcija modula'
Pritom nije neophodno pozivati funkciju
kao svojstvo objekta window:
;(function() {
let str = 'promenljiva modula';
function func() {
alert('funkcija modula');
}
window.func = func;
})();
func(); // ispisaće 'funkcija modula'
Dat je sledeći modul:
;(function() {
let str1 = 'promenljiva modula';
let str2 = 'promenljiva modula';
let str3 = 'promenljiva modula';
function func1() {
alert('funkcija modula');
}
function func2() {
alert('funkcija modula');
}
function func3() {
alert('funkcija modula');
}
})();
Izvezite napolje jednu od promenljivih i dve bilo koje funkcije.