รหัสมีดังนี้:
<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>
สิ่งนี้จะทำให้เกิด:
"Uncaught TypeError: object ไม่ใช่ฟังก์ชัน"
หากฉันรวมการเรียก / การเรียกใช้ฟังก์ชันที่ไม่ระบุชื่อไว้ในวงเล็บอีกชุดหนึ่งมันจะดำเนินการแจ้งเตือน แต่ก็ยังให้ข้อผิดพลาด ถ้าฉันใส่เซมิโคลอนหลังนิยาม "var postTypes" ก็จะดีอย่างสมบูรณ์
ฉันถูกชักนำให้เชื่อว่าจาวาสคริปต์ไม่ต้องการเครื่องหมายกึ่งโคลอนดังนั้นฉันจึงเดาได้ว่ามีกฎการเชื่อมโยงแปลก ๆ ของแอปพลิเคชันฟังก์ชันที่ฉันไม่เข้าใจทั้งหมด เหตุใดฉันจึงได้รับข้อผิดพลาดนี้