SORU
26 Kasım 2009, PERŞEMBE


Tam olarak&; kapatma" quot; bakın JavaScript nedir?

Kilitler ne olduğunu anlıyorum, ama bazı sorunlar terimi closure ifade eder tam olarak grokking yaşıyorum. Bu dönem pek çok web sitesi içinde kullanılan gördüm, ama nadiren gerçek tanımını kabul ediyor.

  • Sürekli değişkenlerin çerçeve yığını mı?
  • Döndürülen işlev mi?
  • Dış işlev kapsamı mi?
  • (İade) iç işlevi kapsamında mı?
  • Belki de öylekavramdeğişkenleri üzerinde tutmak yığını çerçeve işlevi döndükten sonra?

Biri bana closure ne ifade eder tam olarak söyleyebilir misiniz?

CEVAP
26 Kasım 2009, PERŞEMBE


JavaScript Closures

İki cümlelik bir özet:

Bir kapatma için yerel değişkenler. fonksiyonu - canlı tuttu sonra fonksiyon geri döndü ya

Kapanışı olan yığın-bir çerçeve. değil işlevi kaldırıldı verir. (eğer bir 'yığın çerçevesi' edildi olmak yerine malloc tanımladı yığın!)

Çok iyi kapanışları ile ilgili bir makale

Javascript Closures

Bir "kapatma" diye bir tabir (genellikle bir fonksiyon) bu olabilir bir serbest değişkenleri ile birlikte bu bağlar çevre değişkenleri (""ifade) kapatır.

Bir Kapatma basit bir açıklaması var bu ECMA iç sağlar fonksiyonlar; fonksiyon tanımlar ve içinde ifadeler fonksiyon fonksiyonu diğer fonksiyonlar bir anısı var. Ve bu iç fonksiyonları yerel erişim izni değişkenler ve parametreler ilan onların dış içinde iç fonksiyonları görev(ler). Bir kapanması sonucu oluşur bu iç işlevlerinden biri yaptı. erişilebilir işlevi dışında böylece yer, hangi dış işlev sonra idam edilecek geri döndü. Hala noktası yerel değişkenler erişimi vardır, parametreleri ve iç işlev dış görev bildirimleri. Değişken, parametre ve yerel fonksiyon bildirimleri (başlangıçta) o zaman sahip oldukları değerler dış işlev döndü ve olabilir iç işlevi ile etkileşim.

Burada iyi bir örnek

JavaScript, time to grok closures

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • FamilyFeud

    FamilyFeud

    22 AĞUSTOS 2006
  • International Secret Agents Concerts

    Internationa

    2 Aralık 2008
  • LiveForGodsKingdom

    LiveForGodsK

    6 NİSAN 2008