Le Code est comme suit:
<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>
Cela va lancer un "Uncaught TypeError: object n'est pas une fonction". Si j'enveloppe anonyme appel de fonction/invocation dans un autre jeu de parenthèses il va lancer l'alerte, mais encore donner moi une erreur. Si j'ai mis un point-virgule après le "var postTypes" définition alors il sera tout à fait bien.
J'ai été amené à croire que le javascript n'exige pas des points-virgules, donc je fais une supposition qu'il y a de bizarre associativité des règles de la fonction de l'application que je ne suis pas entièrement comprendre. J'espère que quelqu'un peut me donner la réponse à pourquoi j'obtiens cette erreur.
Merci.