JavaScript модульдеріндегі айнымалылар мен функцияларды жабылымдар арқылы экспорттау

Кейде модульдің кейбір айнымалылары мен функциялары сырттан қолжетімді болуы қажет болады. Мұны қалай жасауға болатынын қарастырайық. Бізде келесі модуль бар деп алайық:

javascript;(function() {
  let str = 'модуль айнымалысы';
  
  function func() {
    alert('модуль функциясы');
  }
})();

Енді біздің func функциямызды экспорттайық. Ол үшін оны браузердің кірістірілген window объектісінің қасиетіне жазайық:

javascript;(function() {
  let str = 'модуль айнымалысы';
  
  function func() {
    alert('модуль функциясы');
  }
  
  window.func = func;
})();

Енді біз модульден тыс функциямызды шақыра аламыз:

javascript;(function() {
  let str = 'модуль айнымалысы';
  
  function func() {
    alert('модуль функциясы');
  }
  
  window.func = func;
})();

window.func(); // 'модуль функциясы' шығарады

Сонымен қатар, функцияны міндетті түрде window объектісінің қасиеті ретінде шақыру қажет емес:

javascript;(function() {
  let str = 'модуль айнымалысы';
  
  function func() {
    alert('модуль функциясы');
  }
  
  window.func = func;
})();

func(); // 'модуль функциясы' шығарады
Задание 1

Келесі модуль берілген:

javascript;(function() {
  let str1 = 'модуль айнымалысы';
  let str2 = 'модуль айнымалысы';
  let str3 = 'модуль айнымалысы';
  
  function func1() {
    alert('модуль функциясы');
  }
  function func2() {
    alert('модуль функциясы');
  }
  function func3() {
    alert('модуль функциясы');
  }
})();

Бір айнымалы мен кез келген екі функцияны сыртқыға экспорттаңыз.