Kalimi i parametrave në modul përmes mbylljeve në JavaScript
Është praktikë e mirë të mos futen disa vlera në modul, por t'i kaloni ato si parametër të modulit vetë (d.m.th., si parametër i funksionit që thirret në vend):
;(function(arg1, arg2) { // parametrat hyjnë në variabla
})(1, 2); // kalojmë disa parametra
Le ta shohim me një shembull. Le të themi se kemi një div me një numër dhe një buton:
<div id="div">3</div>
<button id="btn">click me</button>
Le të themi gjithashtu se kemi një modul të caktuar:
;(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);
});
})();
Siç e shihni, përzgjedhësit e elementeve tanë janë të fiksuar në mënyrë të ngurtë në kodin e modulit. Një zgjidhje më e mirë do të ishte t'u kalonim ato si parametra të modulit - kështu në të ardhmen mund t'i ndryshonim lehtësisht. Le të korrigjojmë modulin tonë:
;(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');
Jepet një buton dhe tre inpute, në të cilat futen numra. Duke klikuar në butonin, shfaqni në konsol shumën e numrave të futur. Zbatoni detyrën duke përdorur një modul.