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
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.)
&; Yakalanmamış eğer data": Yasadışı ç...
Nasıl "düzgün" JavaScript öz...
() süper yükseltir "eğer data: tü...
Nasıl "bu" JavaScript bir ne...
C dönüş "BOŞ" nesne arama so...