Muutujate ja funktsioonide eksportimine moodulites sulundite kaudu JavaScriptis
Mõnikord on vaja teha nii, et mõned mooduli muutujad ja funktsioonid oleksid väljaspool kättesaadavad. Vaatame, kuidas seda tehakse. Olgem meil järgmine moodul:
;(function() {
let str = 'mooduli muutuja';
function func() {
alert('mooduli funktsioon');
}
})();
Eksportigem oma funktsioon func.
Selleks kirjutame selle brauserisse sisse ehitatud
objekti window omadusse:
;(function() {
let str = 'mooduli muutuja';
function func() {
alert('mooduli funktsioon');
}
window.func = func;
})();
Nüüd saame oma funktsiooni väljaspool moodulit välja kutsuda:
;(function() {
let str = 'mooduli muutuja';
function func() {
alert('mooduli funktsioon');
}
window.func = func;
})();
window.func(); // kuvab 'mooduli funktsioon'
Sel juhul ei pea funktsiooni välja kutsuma
kui objekti window omadust:
;(function() {
let str = 'mooduli muutuja';
function func() {
alert('mooduli funktsioon');
}
window.func = func;
})();
func(); // kuvab 'mooduli funktsioon'
Antud on järgmine moodul:
;(function() {
let str1 = 'mooduli muutuja';
let str2 = 'mooduli muutuja';
let str3 = 'mooduli muutuja';
function func1() {
alert('mooduli funktsioon');
}
function func2() {
alert('mooduli funktsioon');
}
function func3() {
alert('mooduli funktsioon');
}
})();
Eksportige väljapoole üks muutujatest ja kaks suvalist funktsiooni.