कोड इस प्रकार है:
<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>
यह फेंक देगा:
"बिना पढ़ा हुआ टाइपर: ऑब्जेक्ट एक फ़ंक्शन नहीं है"
अगर मैं किसी अन्य सेट कोष्ठक में अनाम फ़ंक्शन कॉल / आह्वान को लपेटता हूं तो यह अलर्ट निष्पादित करेगा, लेकिन फिर भी मुझे एक त्रुटि देगा। अगर मैं "var postTypes" परिभाषा के बाद एक अर्ध-उपनिवेश लगाता हूं तो यह पूरी तरह से ठीक हो जाएगा।
मुझे यह विश्वास करने के लिए प्रेरित किया गया था कि जावास्क्रिप्ट को अर्ध-कॉलनों की आवश्यकता नहीं है, इसलिए मैं यह अनुमान लगा रहा हूं कि फ़ंक्शन अनुप्रयोग के कुछ अजीब सहयोगी नियम हैं जो मैं पूरी तरह से समझ नहीं रहा हूं। क्यों यह त्रुटि आ रही है?