SORU
29 NİSAN 2011, Cuma


lider bang ! javascript fonksiyonu sözdizimi

Bu birkaç kitaplıkları şimdi sözdizimi görüyorum ve ne yararı olduğunu merak ediyorum. (kilitler farkındayım ve kodun ne yaptığını, sadece sözdizimsel farklılıkları konusunda endişeliyim) not

!function(){
  // do stuff
}();

Daha yaygın bir alternatif olarak

(function(){
  // do stuff
})();

kendi kendine anonim işlevleri çağırma.

Bir kaç şey merak ediyorum. Öncelikle, üst örnek aslında çalışmasını sağlayan nedir? Neden bu açıklama yapmak için bang gerekli sözdizimsel olarak doğru mu? çalıştığı da söylendi, ve tabii bazıları, ! yerdeyim

, Faydası nedir? Söyleyebileceğim tek bir karakter kazandırır, ama çok benimseyenler çekmek için böyle büyük bir yarar olduğunu hayal bile edemiyorum. Bazı diğer"kayıp m? yarar mıyım

Tek farkı görebiliyorum olurdu dönüş değeri kendi kendine çağırma işlevi, ama ikisinin de bu örnekler, bilmiyoruz gerçekten önemsiyorum dönüş değeri işlev beri kullanılan tek oluşturmak için bir kapanış. Yani birisi bir ilk sözdizimi kullanabilir bana söyleyebilir mi?

CEVAP
29 NİSAN 2011, Cuma


İdeal olarak tüm bunu yapmak için sadece mümkün gibi olmalıdır:

function(){
  // do stuff
}(); 

Demek isimsiz işlev bildirmek ve çalıştırmak. Ama bu JS gramer özellikleri nedeniyle çalışmayacak.

Bu ulaşmanın en kısa biçiminde bir ifadenin örneğin UnaryExpression (ve) CallExpression kullanmak için:

!function(){
  // do stuff
}(); 

Ya da eğlenmek için:

-function(){
  // do stuff
}(); 

Ya da:

 function(){
  // do stuff
}(); 

Hatta:

~function(){
  // do stuff
  return 0;
}( );

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • boogie2988

    boogie2988

    6 NİSAN 2006
  • nigahiga

    nigahiga

    21 Temmuz 2006
  • Within Temptation

    Within Tempt

    18 EYLÜL 2006