Eksport zmiennych i funkcji w modułach poprzez domknięcia w JavaScript
Czasami trzeba sprawić, aby niektóre zmienne i funkcje modułu były dostępne na zewnątrz. Przyjrzyjmy się, jak to się robi. Załóżmy, że mamy następujący moduł:
;(function() {
let str = 'zmienna modułu';
function func() {
alert('funkcja modułu');
}
})();
Wyeksportujmy naszą funkcję func.
Aby to zrobić, zapiszmy ją jako właściwość wbudowanego
w przeglądarkę obiektu window:
;(function() {
let str = 'zmienna modułu';
function func() {
alert('funkcja modułu');
}
window.func = func;
})();
Teraz możemy wywołać naszą funkcję z zewnątrz modułu:
;(function() {
let str = 'zmienna modułu';
function func() {
alert('funkcja modułu');
}
window.func = func;
})();
window.func(); // wyświetli 'funkcja modułu'
Przy tym niekoniecznie trzeba wywoływać funkcję
jako właściwość obiektu window:
;(function() {
let str = 'zmienna modułu';
function func() {
alert('funkcja modułu');
}
window.func = func;
})();
func(); // wyświetli 'funkcja modułu'
Dany jest następujący moduł:
;(function() {
let str1 = 'zmienna modułu';
let str2 = 'zmienna modułu';
let str3 = 'zmienna modułu';
function func1() {
alert('funkcja modułu');
}
function func2() {
alert('funkcja modułu');
}
function func3() {
alert('funkcja modułu');
}
})();
Wyeksportuj na zewnątrz jedną ze zmiennych i dwie dowolne funkcje.