JavaScriptda Modullarda O'zgaruvchilar va Funksiyalarni Eksport Qilish: Yopishishlar Orqali

Ba'zan modulning ba'zi o'zgaruvchilari va funksiyalari tashqaridan kirish mumkin bo'lishi kerak bo'ladi. Buning qanday qilinishini ko'rib chiqaylik. Quyidagi modulimiz bor deb faraz qilaylik:

javascript;(function() {
  let str = 'modul o\'zgaruvchisi';
  
  function func() {
    alert('modul funksiyasi');
  }
})();

Keling, func funksiyamizni eksport qilaylik. Buning uchun uni brauzerning o'rnatilgan window ob'ektining xususiyatiga yozamiz:

javascript;(function() {
  let str = 'modul o\'zgaruvchisi';
  
  function func() {
    alert('modul funksiyasi');
  }
  
  window.func = func;
})();

Endi funksiyamizni modul tashqarisidan chaqirishimiz mumkin:

javascript;(function() {
  let str = 'modul o\'zgaruvchisi';
  
  function func() {
    alert('modul funksiyasi');
  }
  
  window.func = func;
})();

window.func(); // 'modul funksiyasi' chiqadi

Bunda funksiyani window ob'ektining xususiyati sifatida chaqirish shart emas:

javascript;(function() {
  let str = 'modul o\'zgaruvchisi';
  
  function func() {
    alert('modul funksiyasi');
  }
  
  window.func = func;
})();

func(); // 'modul funksiyasi' chiqadi
Задание 1

Quyidagi modul berilgan:

javascript;(function() {
  let str1 = 'modul o\'zgaruvchisi';
  let str2 = 'modul o\'zgaruvchisi';
  let str3 = 'modul o\'zgaruvchisi';
  
  function func1() {
    alert('modul funksiyasi');
  }
  function func2() {
    alert('modul funksiyasi');
  }
  function func3() {
    alert('modul funksiyasi');
  }
})();

O'zgaruvchilardan birini va istalgan ikkita funksiyani tashqariga eksport qiling.