
Closure, içteki fonksiyonların, dışta bulunan fonksiyondaki değişkenleri değerini kaybetmeden kullanabilmesidir. Fonksiyonlar içinde bulunan değişkeni işlemi tamamlandığında siler ve tekrar çalıştığında yeniden oluşturur ve kullanırdı ancak bu durumda değişkeni kaybetmeden yeniden kullanır.

Yukarıdaki plus() fonksiyonu ile üst fonksiyondaki değişkene ulaşabiliriz.

Veya yukarıda a değişkenine kendini çağıran bir fonksiyon ile return değeri atanır. Bu kısım sadece bir kere çalışır ve return değerini döndürür. Bununla birlikte fonksiyon private değişkene sahip olabilir.

Bu örnekte ise 5 değeri a’nın, 2 değeri ise b’nin değeridir. add fonksiyonları kapsıyor şeklinde düşünebiliriz ve fonksiyonumuzu iki yeni fonksiyon oluşturmak için kullanıyoruz.