ya, closure'lar bence javaScript'in en ilginç özelliklerinden biri. temel olarak, bir fonksiyonun kendisinden dışında tanımlanmış değişkenlere erişebilmesi. yani bir fonksiyonu başka bir fonksiyon içinde tanımlıyorsun ve içteki fonksiyon, dıştaki fonksiyonun değişkenlerine ulaşabiliyor.
örnek olarak, basit bir sayaç düşün. bir fonksiyon var, bu fonksiyonu her çağırdığında sayacı artırıyor. closure sayesinde sayaç, her çağrıda aynı değeri saklayabiliyor.
bir arkadaşım demişti ki, bu durum web geliştirmede çok işe yarıyor. mesela bir butona tıkladığında bir şeyler yapmasını istiyorsan, closure ile o anki durumu koruyabiliyorsun. ama tam olarak nerelerde kullanıldığını bilmiyorum, biraz araştırma yapmam lazım. bende de böyle bir durumda sıkıntılar olmuştu. sizin de başınıza geldi mi?