JavaScript'te Kapanışlar ile Modüllerde Değişken ve Fonksiyon Dışa Aktarma

Bazen bir modülün bazı değişkenlerinin ve fonksiyonlarının dışarıdan erişilebilir olması gerekir. Bunun nasıl yapıldığına bakalım. Aşağıdaki gibi bir modülümüz olduğunu varsayalım:

javascript;(function() {
  let str = 'modül değişkeni';
  
  function func() {
    alert('modül fonksiyonu');
  }
})();

Şimdi func fonksiyonumuzu dışa aktaralım. Bunun için, onu tarayıcının yerleşik window nesnesinin bir özelliği olarak yazacağız:

javascript;(function() {
  let str = 'modül değişkeni';
  
  function func() {
    alert('modül fonksiyonu');
  }
  
  window.func = func;
})();

Artık fonksiyonumuzu modülün dışından çağırabiliriz:

javascript;(function() {
  let str = 'modül değişkeni';
  
  function func() {
    alert('modül fonksiyonu');
  }
  
  window.func = func;
})();

window.func(); // 'modül fonksiyonu' yazacaktır

Bu durumda, fonksiyonu mutlaka window nesnesinin bir özelliği olarak çağırmak zorunda değiliz:

javascript;(function() {
  let str = 'modül değişkeni';
  
  function func() {
    alert('modül fonksiyonu');
  }
  
  window.func = func;
})();

func(); // 'modül fonksiyonu' yazacaktır
Задание 1

Aşağıdaki modül verilmiştir:

javascript;(function() {
  let str1 = 'modül değişkeni';
  let str2 = 'modül değişkeni';
  let str3 = 'modül değişkeni';
  
  function func1() {
    alert('modül fonksiyonu');
  }
  function func2() {
    alert('modül fonksiyonu');
  }
  function func3() {
    alert('modül fonksiyonu');
  }
})();

Değişkenlerden birini ve herhangi iki fonksiyonu dışa aktarın.