Экспарт зменных і функцый у модулях праз замыканні ў 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('функцыя модуля');
}
})();
Экспартуйце звонку адну з зменных і две любыя функцыі.