Експорт на променливи и функции во модулите преку затворања во JavaScript
Понекогаш треба да направиме некои променливи и функции на модулот да бидат достапни надвор. Ајде да погледнеме како се прави ова. Нека имаме следниов модул:
;(function() {
let str = 'променлива на модулот';
function func() {
alert('функција на модулот');
}
})();
Ајде да ја експортираме нашата функција func.
За ова ќе ја запишеме во својство на вградениот
во браузерот објект window:
;(function() {
let str = 'променлива на модулот';
function func() {
alert('функција на модулот');
}
window.func = func;
})();
Сега можеме да ја повикаме нашата функција однадвор на модулот:
;(function() {
let str = 'променлива на модулот';
function func() {
alert('функција на модулот');
}
window.func = func;
})();
window.func(); // ќе испише 'функција на модулот'
При тоа не е задолжително да се повикува функцијата
како својство на објектот window:
;(function() {
let str = 'променлива на модулот';
function func() {
alert('функција на модулот');
}
window.func = func;
})();
func(); // ќе испише 'функција на модулот'
Даден е следниов модул:
;(function() {
let str1 = 'променлива на модулот';
let str2 = 'променлива на модулот';
let str3 = 'променлива на модулот';
function func1() {
alert('функција на модулот');
}
function func2() {
alert('функција на модулот');
}
function func3() {
alert('функција на модулот');
}
})();
Експортирајте ја надвор една од променливите и две какви било функции.