SORU
26 EKİM 2010, Salı


Javascript "Yakalanmamış eğer data: nesne işlevi" birleşim soru

Kodu aşağıdaki gibidir

<body>
    <a href="javascript:;" id="test">hello</a>
</body>

<script type="text/javascript">
    document.getElementById("test").addEventListener("click", function () {
      test()
    }, false)
    function test() {
      var postTypes = new Array('hello', 'there')   
      (function() { alert('hello there') })()
    }
</script>

Bu bir atar "Yakalanmamış eğer data: nesne bir işlev değil". Ben parantez başka bir set çağırma/anonim işlev çağrısı sararsan uyarı yürütmek, ama yine de bana bir hata verir. Eğer "var postTypes" tanımı daha sonra tamamen iyi olacak. sonra noktalı virgül bir koyarsam

Javascript tam olarak anlamıyorum bu işlev uygulama garip bir birleşim kuralları olduğunu tahmin ediyorum bu yüzden yarı-iki nokta üst üste gerektirmez, buna inanıyordum. Biri bana bu hatayı alıyorum neden cevap verebilir umarım.

Teşekkürler.

CEVAP
26 EKİM 2010, Salı


Javascript-iki nokta üst üste yarı, sadece yorumlamak kod sözdizimi hatası onsuz olduğunda Satır sonları senin için ekler* gerektirir.

Ne yazık ki, kodu

var a = new B(args)(stuff)()

değilsözdizimi hatası, yani hayır ; eklenecektir. (Çalışan bir örnektir

var answer = new Function("x", "return x")(function(){return 42;})();

)

Bu gibi sürprizlerle karşılaşmamak için, kendinizi her zaman ; ile bir deyimi sonlandırmak için tren.

(*: Sadece başparmak kuralı. Her zaman doğru değil. Ekleme kuralı çok daha karmaşıktır. Noktalı virgül ekleme hakkında blog page Bu daha fazla ayrıntı vardır.)

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Kontor.TV

    Kontor.TV

    14 Mart 2006
  • MADFINGER Games a.s.

    MADFINGER Ga

    21 NİSAN 2009
  • Microsoft Research

    Microsoft Re

    24 EKİM 2008