JavaScriptda modulga parametrlarni yopish orqali uzatish
Ma'lum qiymatlarni modulga qattiq kodlab qo'ymaslik, balki ularni modulning parametri sifatida (ya'ni o'z-o'zidan chaqiriladigan funksiya parametri sifatida) uzatish yaxshi amaliyot hisoblanadi:
;(function(arg1, arg2) { // parametrlar o'zgaruvchilarga tushadi
})(1, 2); // ba'zi parametrlarni uzatamiz
Keling, buni misol bilan ko'rib chiqaylik. Faraz qilaylik, bizda raqamli div va tugma mavjud:
<div id="div">3</div>
<button id="btn">click me</button>
Faraz qilaylik, shuningdek, bizda ma'lum bir modul mavjud:
;(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);
});
})();
Ko'rib turganingizdek, bizning elementlarimizning selektorlari modul kodida qattiq kodlangan. Ularni modul parametrlari sifatida uzatish yanada yaxshi yechim bo'ladi - bu kelajakda ularni osonlik o'zgartirishimizga imkon beradi. Keling, modulimizni tuzatamiz:
;(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');
Tugma va uchta input berilgan, ularga raqamlar kiritiladi. Tugma bosilganda, kiritilgan raqamlar yig'indisini konsolga chiqaring. Vazifani modul yordamida amalga oshiring.