JavaScript'te Kapanışlar ile Modüllerde Değişken ve Fonksiyon Dışa Aktarma
Bazen bir modülün bazı değişkenlerinin ve fonksiyonlarının dışarıdan erişilebilir olması gerekir. Bunun nasıl yapıldığına bakalım. Aşağıdaki gibi bir modülümüz olduğunu varsayalım:
;(function() {
let str = 'modül değişkeni';
function func() {
alert('modül fonksiyonu');
}
})();
Şimdi func fonksiyonumuzu dışa aktaralım.
Bunun için, onu tarayıcının yerleşik window
nesnesinin bir özelliği olarak yazacağız:
;(function() {
let str = 'modül değişkeni';
function func() {
alert('modül fonksiyonu');
}
window.func = func;
})();
Artık fonksiyonumuzu modülün dışından çağırabiliriz:
;(function() {
let str = 'modül değişkeni';
function func() {
alert('modül fonksiyonu');
}
window.func = func;
})();
window.func(); // 'modül fonksiyonu' yazacaktır
Bu durumda, fonksiyonu mutlaka window
nesnesinin bir özelliği olarak çağırmak zorunda değiliz:
;(function() {
let str = 'modül değişkeni';
function func() {
alert('modül fonksiyonu');
}
window.func = func;
})();
func(); // 'modül fonksiyonu' yazacaktır
Aşağıdaki modül verilmiştir:
;(function() {
let str1 = 'modül değişkeni';
let str2 = 'modül değişkeni';
let str3 = 'modül değişkeni';
function func1() {
alert('modül fonksiyonu');
}
function func2() {
alert('modül fonksiyonu');
}
function func3() {
alert('modül fonksiyonu');
}
})();
Değişkenlerden birini ve herhangi iki fonksiyonu dışa aktarın.