Mainīgo un funkciju eksports moduļos ar aizvērumiem JavaScript
Dažreiz ir nepieciešams, lai daži moduļa mainīgie un funkcijas būtu pieejami no ārpuses. Apskatīsim, kā to izdarīt. Pieņemsim, ka mums ir šāds modulis:
;(function() {
let str = 'moduļa mainīgais';
function func() {
alert('moduļa funkcija');
}
})();
Eksportēsim mūsu funkciju func.
Lai to izdarītu, ierakstīsim to iebūvētā
pārlūkprogrammas objekta window īpašībā:
;(function() {
let str = 'moduļa mainīgais';
function func() {
alert('moduļa funkcija');
}
window.func = func;
})();
Tagad mēs varam izsaukt mūsu funkciju no ārpuses moduļa:
;(function() {
let str = 'moduļa mainīgais';
function func() {
alert('moduļa funkcija');
}
window.func = func;
})();
window.func(); // izvadīs 'moduļa funkcija'
Šajā gadījumā nav obligāti izsaukt funkciju
ka objekta window īpašību:
;(function() {
let str = 'moduļa mainīgais';
function func() {
alert('moduļa funkcija');
}
window.func = func;
})();
func(); // izvadīs 'moduļa funkcija'
Dots šāds modulis:
;(function() {
let str1 = 'moduļa mainīgais';
let str2 = 'moduļa mainīgais';
let str3 = 'moduļa mainīgais';
function func1() {
alert('moduļa funkcija');
}
function func2() {
alert('moduļa funkcija');
}
function func3() {
alert('moduļa funkcija');
}
})();
Eksportējiet uz āru vienu no mainīgajiem un jebkuras divas funkcijas.