SORU
2 AĞUSTOS 2010, PAZARTESİ


Otomatik yürütme anonim JavaScript fonksiyonları için parantez konumu?

Son projem vardı ve fonksiyonun nasıl yaratıldığını bir fark fark sürümü ile json2.js geçerli sürüm karşılaştırma ve idam öz ediyordum.

Kodu parantez içinde isimsiz bir işlevi sarın ve sonra yeniden çalıştırın

(function () {
  // code here
})();

ama şimdi otomatik yürütülen parantez içinde işlev sarar.

(function () {
  // code here
}());

(function(){})(); (function(){}()); geçerlidir.” Explain JavaScript’s encapsulated anonymous function syntax kabul edilen yanıt CMS yorum var

Fark nedir merak ettim? Eski Genel, anonim bir fonksiyonu bırakarak geçici bellek kadar sürer? Burada parantez bulunmalıdır?

CEVAP
2 AĞUSTOS 2010, PAZARTESİ


Hemen hemen aynılar.

İlk geçerli bir ifade yapmak için bir işlevi parantez içine sarar ve onu çağırır. İfadenin sonucu tanımsızdır.

İkinci görevini yerine getirir ve otomatik çağırma etrafında parantez içinde geçerli bir ifade. O da tanımsız olur.

Bir "" ifadenin sonucu aynı olduğu için bunu yapıyor, bir şekilde. doğru olduğunu sanmıyorum

> function(){}()
SyntaxError: Unexpected token (
> (function(){})()
undefined
> (function(){return 'foo'})()
"foo"
> (function(){ return 'foo'}())
"foo"

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • humanHardDrive

    humanHardDri

    16 Mart 2011
  • kidrauhl

    kidrauhl

    15 Ocak 2007
  • Toddler Fun Learning

    Toddler Fun

    8 ŞUBAT 2013