SORU
2 HAZİRAN 2009, Salı


Hemen işlev çağırma sözdizimi

JSLint bir seçenek, aslında İyi yanlarından biri yoktur, "[gerektirir] acil çağırmaları etrafında parens, inşaat." anlamı bu

(function () {

  // ...

})();

gibi . yazılmış olması gerekir yerine

(function () {

  // ...

}());

Benim sorum bu ... herkes bu ikinci formu daha iyi olabilir neden açıklayabilir mi? Daha esnek mi? Daha az hata eğilimli? Avantajı ilk form üzerinde ne var?


Bu soruyu beri, fonksiyon değerleri ve fonksiyonları değerleri arasında net bir görsel ayrım olmasının önemini anlamak için geldim. Acil çağırma sonucu bir atama ifadesi: sağ tarafı bulunduğu durumu göz önünde bulundurun

var someVar = (function () {

  // ...

}());

En dıştaki parantez sözdizimsel gereksiz olmasına rağmen, açma parantezi değeri atanmış bir ön bilgi verirdeğilkendisi işlevi daha ziyade işlevinin sonucu başlatıldı.

Bu yapıcı fonksiyonlar herkes kaynak kodu bakmak için görsel bir ipucu olarak hizmet etmek içindir ... büyük harf ile ilgili Crockford tavsiyesi benzer.

CEVAP
2 HAZİRAN 2009, Salı


Gelen Douglass Crockford style convention guide: (search for "derhal") çağırdı

Bir işlev hemen çağrılacak, tüm çağırma ifadesinin değeri üretilen işlevinin sonucu ve işlevi kendisi olduğu açıktır, böylece parens sarılmış olmalıdır.

Yani, temelde, fonksiyon değerleri, ve fonksiyonları değerleri arasında daha net ayrım yapar hissediyor. , Biçimsel bir mesele, gerçekten kodda önemli bir fark kendisi değil.

güncelleştirilmiş referans, yaşlı PPS artık yok

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • DJAndrewRyan

    DJAndrewRyan

    22 Ocak 2007
  • NikkoNantone

    NikkoNantone

    21 Kasım 2011
  • WoodysGamertag

    WoodysGamert

    17 Aralık 2009