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

  • funbro1

    funbro1

    11 Aralık 2007
  • Huot Media

    Huot Media

    7 Mayıs 2010
  • SlimaksClass

    SlimaksClass

    15 Kasım 2010