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

  • HTC Tutorials

    HTC Tutorial

    21 EYLÜL 2010
  • Rayone GB

    Rayone GB

    14 Temmuz 2007
  • Chaîne de TheMoustic

    Chaîne de T

    5 Kasım 2006