Overføring av parametere til modul gjennom lukninger i JavaScript

Det anses som god praksis å ikke hardkode visse verdier i modulen, men heller sende dem som en parameter til selve modulen (det vil si som en parameter til den umiddelbart kallede funksjonen):

javascript;(function(arg1, arg2) { // parametere kommer inn i variabler
  
})(1, 2); // sender noen parametere

La oss se på et eksempel. Anta at vi har en div med et tall og en knapp:

html<div id="div">3</div>
<button id="btn">klikk på meg</button>

Anta at vi også har en modul:

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

Som du ser, er velgerne for våre elementer hardkodet i modulkoden. En bedre løsning ville være å sende dem som parametere til modulen - slik at vi enkelt kan endre dem senere. La oss rette opp modulen vår:

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

Det er gitt en knapp og tre input-felt, der tall skrives inn. Ved klikk på knappen, skriv summen av de innskrevne tallene til konsollen. Løs oppgaven ved hjelp av en modul.