JavaScript ရှိ Module များတွင် Object ကို Closure များမှတဆင့် Export လုပ်ခြင်း
ကျွန်ုပ်တို့တွင် အောက်ပါ Module ရှိသည်ဆိုပါစို့။
;(function() {
function func1() {
alert('module function');
}
function func2() {
alert('module function');
}
function func3() {
alert('module function');
}
})();
ကျွန်ုပ်တို့သည် Function သုံးခုလုံးကို Module ၏ အပြင်ဘက်သို့ Export လုပ်လိုသည်ဆိုပါစို့။ ဤကိစ္စတွင်၊ Module ၏ အပြင်ဘက်တွင် Function အမည်များ အပိုများမထွက်စေရန် Function အားလုံးကို Object တစ်ခုအတွင်း ရေးသွင်း၍ ထို Object ကို Export လုပ်ခြင်းသည် ပိုကောင်းပါသည်။
;(function() {
function func1() {
alert('module function');
}
function func2() {
alert('module function');
}
function func3() {
alert('module function');
}
window.module = {func1: func1, func2: func2, func3: func3};
})();
Key အမည်များနှင့် Variable အမည်များ ကိုက်ညီသောကြောင့် Function များပါသော Object ကို ရိုးရှင်းအောင်ပြုလုပ်နိုင်ပါသည်။
;(function() {
function func1() {
alert('module function');
}
function func2() {
alert('module function');
}
function func3() {
alert('module function');
}
window.module = {func1, func2, func3};
})();
အခြားနည်းလမ်းတစ်ခုဖြင့်လည်း သွားနိုင်ပါသည်။ Function ကို ဖော်ပြသောအခါတွင် Function များကို Object အတွင်းသို့ ချက်ချင်းရေးသွင်းပါမည်။ ဤကဲ့သို့ဖြစ်သည်။
;(function() {
let module = {};
module.func1 = function() {
alert('module function');
}
module.func2 = function() {
alert('module function');
}
module.func3 = function() {
alert('module function');
}
window.module = module;
})();
အောက်ပါ Module ကို ပေးထားပါသည်။
;(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');
}
})();
ပထမ Function ငါးခုနှင့် ပထမ Variable နှစ်ခုပါသော Object ကို Module ၏ အပြင်ဘက်သို့ Export လုပ်ပါ။