ජවාස්ක්රිප්ට් හි වසා ඇති ශ්රිත හරහා මොඩියුලයකට පරාමිති යැවීම
කිසියම් අගයන් මොඩියුලයට කේතයේ දී සවි කිරීම නොකිරීමත්, ඒවා මොඩියුලයේම පරාමිතියක් ලෙස (එනම් එක් තැනක දී කැඳවෙන ශ්රිතයේ පරාමිතියක් ලෙස) යැවීමත් සුදුසු පරිදි ක්රමයකි.
;(function(arg1, arg2) { // පරාමිති විචල්ය වලට ලැබේ
})(1, 2); // කිසියම් පරාමිති යවන්න
අපි උදාහරණයක් බලමු. අප සතුව සංඛ්යාවක් සහිත div එකක් සහ බොත්තමක් ඇතැයි සිතමු:
<div id="div">3</div>
<button id="btn">click me</button>
අප සතුව කිසියම් මොඩියුලයක් ද ඇතැයි සිතමු:
;(function() {
let div = document.querySelector('#div');
let btn = document.querySelector('#btn');
function func(num) {
return num * num;
}
btn.addEventListener('click', function() {
div.textContent = func(div.textContent);
});
})();
ඔබට පෙනෙන පරිදි, අපගේ මූලද්රව්යවල තෝරන්නන් මොඩියුලයේ කේතයේ දී දැඩි ලෙස සවි කර ඇත. ඒවා මොඩියුලයේ පරාමිති ලෙස යැවීම වඩාත් හොඳ විසඳුමක් වනු ඇත - මෙලෙසින් අනාගතයේ දී අපට ඒවා පහසුවෙන් වෙනස් කළ හැකිය. අපගේ මොඩියුලය නිවැරදි කරමු:
;(function(selector1, selector2) {
let div = document.querySelector(selector1);
let btn = document.querySelector(selector2);
function func(num) {
return num * num;
}
btn.addEventListener('click', function() {
div.textContent = func(div.textContent);
});
})('#div', '#btn');
බොත්තමක් සහ සංඛ්යා ඇතුළත් කරන ආදාන ක්ෂේත්ර තුනක් ලබා දී ඇත. බොත්තම ක්ලික් කිරීමෙන්, ඇතුළත් කළ සංඛ්යාවල එකතුව කොන්සෝලයේ මුද්රණය කරන්න. මෙම කාර්යය මොඩියුලයක් භාවිතා කර ක්රියාත්මක කරන්න.