ජාවාස්ක්රිප්ට් මොඩියුලවල වස්තුවක් නිර්යාත කිරීම closure භාවිතයෙන්
අපට පහත මොඩියුලය ඇතැයි සිතමු:
;(function() {
function func1() {
alert('මොඩියුල ශ්රිතය');
}
function func2() {
alert('මොඩියුල ශ්රිතය');
}
function func3() {
alert('මොඩියුල ශ්රිතය');
}
})();
අපට ශ්රිත තුනම පිටතට නිර්යාත කිරීමට අවශ්ය යැයි සිතමු. මෙම අවස්ථාවේදී, මොඩියුලයෙන් පිටත අමතර ශ්රිත නම් නොසෑදීම සඳහා, ශ්රිත සියල්ලම එක් වස්තුවකට ලියා එම වස්තුව නිර්යාත කිරීම වඩා හොඳය:
;(function() {
function func1() {
alert('මොඩියුල ශ්රිතය');
}
function func2() {
alert('මොඩියුල ශ්රිතය');
}
function func3() {
alert('මොඩියුල ශ්රිතය');
}
window.module = {func1: func1, func2: func2, func3: func3};
})();
යතුරුවල නම් සහ විචල්යවල නම් එකම නිසා, ශ්රිත සහිත වස්තුව සරල කළ හැකිය:
;(function() {
function func1() {
alert('මොඩියුල ශ්රිතය');
}
function func2() {
alert('මොඩියුල ශ්රිතය');
}
function func3() {
alert('මොඩියුල ශ්රිතය');
}
window.module = {func1, func2, func3};
})();
අනෙක් මාර්ගයකින් ද යා හැකිය. අපි ශ්රිත විස්තර කරන අවස්ථාවේදීම වස්තුවකට ශ්රිත ලියන්නෙමු, මෙලෙස:
;(function() {
let module = {};
module.func1 = function() {
alert('මොඩියුල ශ්රිතය');
}
module.func2 = function() {
alert('මොඩියුල ශ්රිතය');
}
module.func3 = function() {
alert('මොඩියුල ශ්රිතය');
}
window.module = module;
})();
පහත මොඩියුලය ලබා දී ඇත:
;(function() {
let str1 = 'මොඩියුල විචල්යය';
let str2 = 'මොඩියුල විචල්යය';
let str3 = 'මොඩියුල විචල්යය';
function func1() {
alert('මොඩියුල ශ්රිතය');
}
function func2() {
alert('මොඩියුල ශ්රිතය');
}
function func3() {
alert('මොඩියුල ශ්රිතය');
}
function func4() {
alert('මොඩියුල ශ්රිතය');
}
function func5() {
alert('මොඩියුල ශ්රිතය');
}
})();
පළමු ශ්රිත පහ සහ පළමු විචල්ය දෙක සමඟ වස්තුවක් පිටතට නිර්යාත කරන්න.