Ufikishaji wa Vigezo kwenye Moduli Kupitia Kufunga kwa JavaScript
Ni desturi nzuri kutokukata thamani zozote katika moduli, bali kuzifikisha kama kigezo cha moduli yenyewe (yaani kigezo cha kitendakazi kinachoitwa mara moja):
;(function(arg1, arg2) { // vigezo huingia kwenye vigeu
})(1, 2); // tunafikisha vigezo fulani
Wacha tuangalie kwa mfano. Hebu tuseme tuna div na nambari na kifungo:
<div id="div">3</div>
<button id="btn">bonyeza mimi</button>
Hebu tuseme pia tuna moduli fulani:
;(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);
});
})();
Kama unavyoona, wateuzi wa vipengele vyetu vimekatikwa kwa ukali katika msimbo wa moduli. Suluhisho bora zaidi litakuwa kuzifikisha kama vigezo vya moduli - hivi ndivyo baadaye tutaweza kuzibadilisha kwa urahisi. Wacha tusahihishe moduli yetu:
;(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');
Kimetolewa kifungo na vitambuzi vitatu, ambavyo nambari huingizwa. Kwa kubonyeza kifungo, andika kwenye konsole jumla ya nambari zilizoingizwa. Tekeleza kazi kwa kutumia moduli.