JavaScriptda Modullarda Ob'ektni Eksport qilish: Yopishishlar orqali

Quyidagi modulimiz bor deb faraz qilaylik:

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

Faraz qilaylik, biz barcha uch funksiyani tashqariga eksport qilmoqchimiz. Bunday holatda, modul tashqarisida keraksiz funksiya nomlarini ko'paytirmaslik uchun, barcha funksiyalarni bitta ob'ektga yozib, shu ob'ektni eksport qilish maqsadga muvofiq:

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

Kalit so'zlar va o'zgaruvchilar nomlari mos kelgani sababli, funksiyalar ob'ektini soddalashtirish mumkin:

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

Yana bir yo'lni ham tanlash mumkin. Funksiyalarni ularni tasniflash vaqtida darhol ob'ektga yozamiz, mana buni kabi:

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

Quyidagi modul berilgan:

javascript;(function() {
  let str1 = 'module variable';
  let str2 = 'module variable';
  let str3 = 'module variable';
  
  function func1() {
    alert('module function');
  }
  function func2() {
    alert('module function');
  }
  function func3() {
    alert('module function');
  }
  function func4() {
    alert('module function');
  }
  function func5() {
    alert('module function');
  }
})();

Dastlabki beshta funksiya va dastlabki ikkita o'zgaruvchini o'z ichiga olgan ob'ektni tashqariga eksport qiling.