Objekto eksportas moduliuose naudojant uždaras funkcijas JavaScript

Tarkime, kad turime tokį modulį:

javascript;(function() {
  function func1() {
    alert('modulio funkcija');
  }
  function func2() {
    alert('modulio funkcija');
  }
  function func3() {
    alert('modulio funkcija');
  }
})();

Tarkime, kad norime eksportuoti į išorę visas tris funkcijas. Šiuo atveju, kad nekurti modulio išorėje perteklinių funkcijų pavadinimų, geriau įrašyti visas funkcijas į vieną objektą ir atlikti šio objekto eksportą:

javascript;(function() {
  function func1() {
    alert('modulio funkcija');
  }
  function func2() {
    alert('modulio funkcija');
  }
  function func3() {
    alert('modulio funkcija');
  }
  
  window.module = {func1: func1, func2: func2, func3: func3};
})();

Kadangi raktažodžių ir kintamųjų pavadinimai sutampa, tai objektą su funkcijomis galima supaprastinti:

javascript;(function() {
  function func1() {
    alert('modulio funkcija');
  }
  function func2() {
    alert('modulio funkcija');
  }
  function func3() {
    alert('modulio funkcija');
  }
  
  window.module = {func1, func2, func3};
})();

Galima eiti ir kitu keliu. Funkcijas įrašysime į objektą iš karto aprašant funkciją, štai taip:

javascript;(function() {
  let module = {};
  
  module.func1 = function() {
    alert('modulio funkcija');
  }
  module.func2 = function() {
    alert('modulio funkcija');
  }
  module.func3 = function() {
    alert('modulio funkcija');
  }
  
  window.module = module;
})();
Задание 1

Duotas toks modulis:

javascript;(function() {
  let str1 = 'modulio kintamasis';
  let str2 = 'modulio kintamasis';
  let str3 = 'modulio kintamasis';
  
  function func1() {
    alert('modulio funkcija');
  }
  function func2() {
    alert('modulio funkcija');
  }
  function func3() {
    alert('modulio funkcija');
  }
  function func4() {
    alert('modulio funkcija');
  }
  function func5() {
    alert('modulio funkcija');
  }
})();

Eksportuokite į išorę objektą su pirmosiomis penkiomis funkcijomis ir pirmais dviem kintamaisiais.