Параметрлерді JavaScript модуліне жабылымдар арқылы беру

Кейбір мәндерді модульге қатқабаттап енгізбеу, оларды модульдің параметрі ретінде беру (яғни бірден шалып жатқан функцияның параметрі ретінде) жақсы тәжірибе болып саналады:

javascript;(function(arg1, arg2) { // параметрлер айнымалыларға түседі
  
})(1, 2); // кейбір параметрлерді береміз

Мысал арқылы қарастырайық. Бізде саны бар div және батырма бар делік:

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

Көріп отырғаныңыздай, біздің элементтер селекторлары модуль кодына қатқабаттап енгізілген. Оларды модуль параметрлері ретінде беру - әлдеқайда тиімді шешім болар еді, осылайша біз оларды болашақта оңай өзгерте аламыз. Модулімізді түзетейік:

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

Батырма және сандар енгізілетін үш input берілген. Батырманы басқан кезде консольге енгізілген сандардың қосындысын шығарыңыз. Тапсырманы модуль көмегімен жүзеге асырыңыз.