ცვლადების და ფუნქციების ექსპორტი მოდულებიდან ჩაკეტვების მეშვეობით 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('მოდულის ფუნქცია');
  }
})();

გააკეთეთ ექსპორტი ერთ-ერთი ცვლადის და ნებისმიერი ორი ფუნქციის გარეთ.