JavaScriptda Modullarda Ob'ektni Eksport qilish: Yopishishlar orqali
Quyidagi modulimiz bor deb faraz qilaylik:
;(function() {
function func1() {
alert('module function');
}
function func2() {
alert('module function');
}
function func3() {
alert('module function');
}
})();
Faraz qilaylik, biz barcha uch funksiyani tashqariga eksport qilmoqchimiz. Bunday holatda, modul tashqarisida keraksiz funksiya nomlarini ko'paytirmaslik uchun, barcha funksiyalarni bitta ob'ektga yozib, shu ob'ektni eksport qilish maqsadga muvofiq:
;(function() {
function func1() {
alert('module function');
}
function func2() {
alert('module function');
}
function func3() {
alert('module function');
}
window.module = {func1: func1, func2: func2, func3: func3};
})();
Kalit so'zlar va o'zgaruvchilar nomlari mos kelgani sababli, funksiyalar ob'ektini soddalashtirish mumkin:
;(function() {
function func1() {
alert('module function');
}
function func2() {
alert('module function');
}
function func3() {
alert('module function');
}
window.module = {func1, func2, func3};
})();
Yana bir yo'lni ham tanlash mumkin. Funksiyalarni ularni tasniflash vaqtida darhol ob'ektga yozamiz, mana buni kabi:
;(function() {
let module = {};
module.func1 = function() {
alert('module function');
}
module.func2 = function() {
alert('module function');
}
module.func3 = function() {
alert('module function');
}
window.module = module;
})();
Quyidagi modul berilgan:
;(function() {
let str1 = 'module variable';
let str2 = 'module variable';
let str3 = 'module variable';
function func1() {
alert('module function');
}
function func2() {
alert('module function');
}
function func3() {
alert('module function');
}
function func4() {
alert('module function');
}
function func5() {
alert('module function');
}
})();
Dastlabki beshta funksiya va dastlabki ikkita o'zgaruvchini o'z ichiga olgan ob'ektni tashqariga eksport qiling.