JavaScriptда модулга параметрларни берish

Қандайдир қийматларни модулга қаттиқ қилиб ёзиш эмас, балки уларни модулнинг ўзининг параметри сифатида берish (яъни жойда чакирилаётган функциянинг параметри сифатида) яхши амалиёт ҳисобланади:

javascript;(function(arg1, arg2) { // параметрлар ўзгарувчиларга түшади
  
})(1, 2); // қандайдир параметрларни берамиз

Келгила, мисолда кўрайлик. Фарз қилайлик, бизда сан билан див ва тугма мавжуд:

html<div id="div">3</div>
<button id="btn">click me</button>

Шунингдек, фарз қилайлик, бизда маълум бир модул мавжуд:

javascript;(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);
  });
})();

Кўриб турганингиздек, бизнинг элементларимизнинг селекторлари модул кодида қаттиқ қилиб ёзилган. Уларни модул параметрлари сифатида берish - кейинчалик уларни осонгина ўзгартиришимиз мумкин бўладиган яхшироқ ечим бўлар эди. Келгила, модулимизни түзаймиз:

javascript;(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');
Задание 1

Бирта тугма ва киритиладиган учта инпут берилган. Тугмани босганда, киритилган сонларнинг йиғиндисини консольга чиқаринг. Масалани модул ёрдамида амалга оширинг.