JavaScript-də qapalılıqlar vasitəsilə modula parametrlərin ötürülməsi

Hansısa dəyərləri modula daxil etməmək, onları modulun özünün parametri kimi ötürmək yaxşı təcrübə hesab olunur (yəni yerində çağırılan funksiyanın parametri):

javascript;(function(arg1, arg2) { // parametlər dəyişənlərə düşür
  
})(1, 2); // bəzi parametrləri ötürürük

Gəlin bir nümunəyə baxaq. Tutaq ki, bizim rəqəmli bir div və düyməmiz var:

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

Tutaq ki, bizim həmçinin müəyyən bir modulumuz var:

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

Gördüyünüz kimi, elementlərimizin selektorları modulun kodunda sərt şəkildə daxil edilib. Daha uğurlu həll onları modulun parametrləri kimi ötürmək olardı - beləliklə, gələcəkdə onları asanlıqla dəyişə biləcəyik. Gəlin modulumuzu düzəldək:

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

Bir düymə və içərisinə rəqəmlər daxil edilən üç input verilib. Düyməyə kliklənildikdə konsola daxil edilən rəqəmlərin cəmini çıxarın. Tapşırığı modul vasitəsilə həll edin.